org.jboss.jms.client.container
Class SessionAspect

java.lang.Object
  extended by org.jboss.jms.client.container.SessionAspect

public class SessionAspect
extends java.lang.Object

This aspect handles JMS session related logic This aspect is PER_VM

Author:
Clebert Suconic,
Constructor Summary
SessionAspect()
           
 
Method Summary
 java.lang.Object handleAcknowledgeAll(Invocation invocation)
          Used for client acknowledge.
 java.lang.Object handleAddAsfMessage(Invocation invocation)
           
 java.lang.Object handleClose(Invocation invocation)
           
 java.lang.Object handleClosing(Invocation invocation)
           
 java.lang.Object handleCommit(Invocation invocation)
           
 java.lang.Object handleCreateBytesMessage(Invocation invocation)
           
 java.lang.Object handleCreateConnectionConsumer(Invocation invocation)
           
 java.lang.Object handleCreateMapMessage(Invocation invocation)
           
 java.lang.Object handleCreateMessage(Invocation invocation)
           
 java.lang.Object handleCreateObjectMessage(Invocation invocation)
           
 java.lang.Object handleCreateStreamMessage(Invocation invocation)
           
 java.lang.Object handleCreateTextMessage(Invocation invocation)
           
 java.lang.Object handleGetAcknowledgeMode(Invocation invocation)
           
 java.lang.Object handleGetMessageListener(Invocation invocation)
           
 java.lang.Object handleGetTransacted(Invocation invocation)
           
 java.lang.Object handleGetXAResource(Invocation invocation)
           
 java.lang.Object handlePostDeliver(Invocation invocation)
           
 java.lang.Object handlePreDeliver(Invocation invocation)
           
 java.lang.Object handleRecover(Invocation invocation)
           
 java.lang.Object handleRedeliver(Invocation invocation)
          Redelivery occurs in two situations: 1) When session.recover() is called (JMS1.1 4.4.11) "A session's recover method is used to stop a session and restart it with its first unacknowledged message.
 java.lang.Object handleRollback(Invocation invocation)
           
 java.lang.Object handleRun(Invocation invocation)
           
 java.lang.Object handleSend(Invocation invocation)
           
 java.lang.Object handleSetMessageListener(Invocation invocation)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SessionAspect

public SessionAspect()
Method Detail

handleClosing

public java.lang.Object handleClosing(Invocation invocation)
                               throws java.lang.Throwable
Throws:
java.lang.Throwable

handleClose

public java.lang.Object handleClose(Invocation invocation)
                             throws java.lang.Throwable
Throws:
java.lang.Throwable

handlePreDeliver

public java.lang.Object handlePreDeliver(Invocation invocation)
                                  throws java.lang.Throwable
Throws:
java.lang.Throwable

handlePostDeliver

public java.lang.Object handlePostDeliver(Invocation invocation)
                                   throws java.lang.Throwable
Throws:
java.lang.Throwable

handleAcknowledgeAll

public java.lang.Object handleAcknowledgeAll(Invocation invocation)
                                      throws java.lang.Throwable
Used for client acknowledge.

Throws:
java.lang.Throwable

handleRecover

public java.lang.Object handleRecover(Invocation invocation)
                               throws java.lang.Throwable
Throws:
java.lang.Throwable

handleRedeliver

public java.lang.Object handleRedeliver(Invocation invocation)
                                 throws java.lang.Throwable
Redelivery occurs in two situations: 1) When session.recover() is called (JMS1.1 4.4.11) "A session's recover method is used to stop a session and restart it with its first unacknowledged message. In effect, the session's series of delivered messages is reset to the point after its last acknowledged message." An important note here is that session recovery is LOCAL to the session. Session recovery DOES NOT result in delivered messages being cancelled back to the channel where they can be redelivered - since that may result in them being picked up by another session, which would break the semantics of recovery as described in the spec. 2) When session rollback occurs (JMS1.1 4.4.7). On rollback of a session the spec is clear that session recovery occurs: "If a transaction rollback is done, its produced messages are destroyed and its consumed messages are automatically recovered. For more information on session recovery, see Section 4.4.11 'Message Acknowledgment.'" So on rollback we do session recovery (local redelivery) in the same as if session.recover() was called. All cancellation at rollback is driven from the client side - we always attempt to redeliver messages to their original consumers if they are still open, or then cancel them to the server if they are not. Cancelling them to the server explicitly allows the delivery count to be updated.

Throws:
java.lang.Throwable

handleCommit

public java.lang.Object handleCommit(Invocation invocation)
                              throws java.lang.Throwable
Throws:
java.lang.Throwable

handleRollback

public java.lang.Object handleRollback(Invocation invocation)
                                throws java.lang.Throwable
Throws:
java.lang.Throwable

handleSend

public java.lang.Object handleSend(Invocation invocation)
                            throws java.lang.Throwable
Throws:
java.lang.Throwable

handleGetXAResource

public java.lang.Object handleGetXAResource(Invocation invocation)
                                     throws java.lang.Throwable
Throws:
java.lang.Throwable

handleGetTransacted

public java.lang.Object handleGetTransacted(Invocation invocation)
                                     throws java.lang.Throwable
Throws:
java.lang.Throwable

handleGetAcknowledgeMode

public java.lang.Object handleGetAcknowledgeMode(Invocation invocation)
                                          throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateMessage

public java.lang.Object handleCreateMessage(Invocation invocation)
                                     throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateBytesMessage

public java.lang.Object handleCreateBytesMessage(Invocation invocation)
                                          throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateMapMessage

public java.lang.Object handleCreateMapMessage(Invocation invocation)
                                        throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateObjectMessage

public java.lang.Object handleCreateObjectMessage(Invocation invocation)
                                           throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateStreamMessage

public java.lang.Object handleCreateStreamMessage(Invocation invocation)
                                           throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateTextMessage

public java.lang.Object handleCreateTextMessage(Invocation invocation)
                                         throws java.lang.Throwable
Throws:
java.lang.Throwable

handleSetMessageListener

public java.lang.Object handleSetMessageListener(Invocation invocation)
                                          throws java.lang.Throwable
Throws:
java.lang.Throwable

handleGetMessageListener

public java.lang.Object handleGetMessageListener(Invocation invocation)
                                          throws java.lang.Throwable
Throws:
java.lang.Throwable

handleCreateConnectionConsumer

public java.lang.Object handleCreateConnectionConsumer(Invocation invocation)
                                                throws java.lang.Throwable
Throws:
java.lang.Throwable

handleAddAsfMessage

public java.lang.Object handleAddAsfMessage(Invocation invocation)
                                     throws java.lang.Throwable
Throws:
java.lang.Throwable

handleRun

public java.lang.Object handleRun(Invocation invocation)
                           throws java.lang.Throwable
Throws:
java.lang.Throwable

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2006 JBoss Inc. All Rights Reserved.