WebLogic Messaging API Class Library

ISession Methods

The methods of the ISession interface are listed below. For a complete list of ISession interface members, see the ISession Members topic.

Public Instance Methods

CloseCloses the session. Since a provider may allocate some resources on behalf of a session outside the JVM, clients should Close the resources when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough. There is no need to Close the producers and consumers of a closed session. This call will block until a Receive call or message listener in progress has completed. A blocked message consumer Receive call returns null when this session is closed. Closing a transacted session must roll back the transaction in progress. This method is the only ISession method that can be called concurrently. Invoking any other ISession method on a closed session must throw a MessageException.IllegalStateException. Closing a closed session must not throw an exception.
CommitCommits all messages done in this transaction and releases any locks currently held.
CreateBytesMessageCreates a IBytesMessage object. A IBytesMessage object is used to send a message containing a stream of uninterpreted bytes.
CreateConsumerOverloaded. Creates a IMessageConsumer for the specified destination. Since IQueue and ITopic both inherit from IDestination, they can be used in the destination parameter to create a IMessageConsumer.
CreateDurableSubscriberOverloaded. Creates a durable subscriber to the specified topic. If a client needs to receive all the messages published on a topic, including the ones published while the subscriber is inactive, it uses a durable IMessageConsumer. The JMS provider retains a record of this durable subscription and insures that all messages from the topic's publishers are retained until they are acknowledged by this durable subscriber or they have expired.Sessions with durable subscribers must always provide the same client identifier. In addition, each client must specify a name that uniquely identifies (within client identifier) each durable subscription it creates. Only one session at a time can have a IMessageConsumer for a particular durable subscription. A client can change an existing durable subscription by creating a durable IMessageConsumer with the same name and a new topic and/or message selector. Changing a durable subscriber is equivalent to unsubscribing (deleting) the old one and creating a new one. In some cases, a connection may both publish and subscribe to a topic. The subscriber NoLocal attribute allows a subscriber to inhibit the delivery of messages published by its own connection. The default value for this attribute is false.
CreateMapMessageCreates a IMapMessage object. A IMapMessage object is used to send a self-defining set of name-value pairs, where names are String objects and values are primitive values in the Java programming language.
CreateMessageCreates a IMessage object. The IMessage interface is the root interface of all JMS messages. A IMessage object holds all the standard message header information. It can be sent when a message containing only header information is sufficient.
CreateObjectMessageOverloaded. Creates an IObjectMessage object. An IObjectMessage object is used to send a message that contains a default(with Serializable attribute)or custom serializable (implementing ISerializable interface) object.
CreateProducerCreates a IMessageProducer to send messages to the specified destination. A client uses a IMessageProducer object to send messages to a destination. Since IQueue and ITopic both inherit from IDestination, they can be used in the destination parameter to create a IMessageProducer object.
CreateQueueCreates a queue identity given a IQueue name. This facility is provided for the rare cases where clients need to dynamically manipulate queue identity. It allows the creation of a queue identity with a provider-specific name. Clients that depend on this ability are not portable. Note that this method is not for creating the physical queue. The physical creation of queues is an administrative task and is not to be initiated by the JMS API. The one exception is the creation of temporary queues, which is accomplished with the CreateTemporaryQueue method.
CreateStreamMessageCreates a IStreamMessage object. A IStreamMessage object is used to send a self-defining stream of primitive values
CreateTextMessageOverloaded. Creates a ITextMessage object. A ITextMessage object is used to send a message containing a String object.
CreateTopicCreates a topic identity given a ITopic name. This facility is provided for the rare cases where clients need to dynamically manipulate topic identity. This allows the creation of a topic identity with a provider-specific name. Clients that depend on this ability are not portable. Note that this method is not for creating the physical topic. The physical creation of topics is an administrative task and is not to be initiated by the JMS API. The one exception is the creation of temporary topics, which is accomplished with the CreateTemporaryTopic method.
RecoverStops message delivery in this session, and restarts message delivery with the oldest unacknowledged message. All consumers deliver messages in a serial order. Acknowledging a received message automatically acknowledges all messages that have been delivered to the client. Restarting a session causes it to take the following actions:
  • Stop message delivery
  • Mark all messages that might have been delivered but not acknowledged as "redelivered"
  • Restart the delivery sequence including all unacknowledged messages that had been previously delivered. Redelivered messages do not have to be delivered in exactly their original delivery order.
RollbackRolls back any messages done in this transaction and releases any locks currently held.
UnsubscribeUnsubscribes a durable subscription that has been created by a client. This method deletes the state being maintained on behalf of the subscriber by its provider. It is erroneous for a client to Delete a durable subscription while there is an active IMessageConsumer or ITopicSubscriber for the subscription, or while a consumed message is part of a pending transaction or has not been acknowledged in the session.

See Also

ISession Interface | WebLogic.Messaging Namespace | IMessage