Class ThreadAwareContext
- java.lang.Object
-
- org.apache.activemq.artemis.jms.client.ThreadAwareContext
-
public class ThreadAwareContext extends java.lang.Object
Restricts what can be called on context passed in wrapped CompletionListener.
-
-
Constructor Summary
Constructors Constructor Description ThreadAwareContext()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assertNotCompletionListenerThread()
Asserts aCompletionListener
is not calling from its ownConnection
or from aMessageProducer
.void
assertNotCompletionListenerThreadRuntime()
Asserts aCompletionListener
is not calling from its ownJMSContext
.void
assertNotMessageListenerThread()
Asserts aMessageListener
is not calling from its ownConnection
orMessageConsumer
.void
assertNotMessageListenerThreadRuntime()
Asserts aMessageListener
is not calling from its ownJMSContext
.void
clearCurrentThread(boolean isCompletionListener)
Clear current thread from the contextvoid
setCurrentThread(boolean isCompletionListener)
Sets current thread to the context
-
-
-
Method Detail
-
setCurrentThread
public void setCurrentThread(boolean isCompletionListener)
Sets current thread to the contextMeant to inform an JMSContext which is the thread that CANNOT call some of its methods.
- Parameters:
isCompletionListener
- : indicating whether current thread is from CompletionListener or from MessageListener.
-
clearCurrentThread
public void clearCurrentThread(boolean isCompletionListener)
Clear current thread from the context- Parameters:
isCompletionListener
- : indicating whether current thread is from CompletionListener or from MessageListener.
-
assertNotCompletionListenerThreadRuntime
public void assertNotCompletionListenerThreadRuntime()
Asserts aCompletionListener
is not calling from its ownJMSContext
.Note that the code must work without any need for further synchronization, as there is the requirement that only one CompletionListener be called at a time. In other words, CompletionListener calling is single-threaded.
- See Also:
JMSContext.close()
,JMSContext.stop()
,JMSContext.commit()
,JMSContext.rollback()
-
assertNotCompletionListenerThread
public void assertNotCompletionListenerThread() throws javax.jms.IllegalStateException
Asserts aCompletionListener
is not calling from its ownConnection
or from aMessageProducer
.Note that the code must work without any need for further synchronization, as there is the requirement that only one CompletionListener be called at a time. In other words, CompletionListener calling is single-threaded.
- Throws:
javax.jms.IllegalStateException
- See Also:
Connection.close()
,MessageProducer.close()
-
assertNotMessageListenerThreadRuntime
public void assertNotMessageListenerThreadRuntime()
Asserts aMessageListener
is not calling from its ownJMSContext
.Note that the code must work without any need for further synchronization, as there is the requirement that only one MessageListener be called at a time. In other words, MessageListener calling is single-threaded.
- See Also:
JMSContext.close()
,JMSContext.stop()
-
assertNotMessageListenerThread
public void assertNotMessageListenerThread() throws javax.jms.IllegalStateException
Asserts aMessageListener
is not calling from its ownConnection
orMessageConsumer
.Note that the code must work without any need for further synchronization, as there is the requirement that only one MessageListener be called at a time. In other words, MessageListener calling is single-threaded.
- Throws:
javax.jms.IllegalStateException
- See Also:
Connection.close()
,MessageConsumer.close()
-
-