|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.joram.client.jms.connection.RequestMultiplexer
public class RequestMultiplexer
Nested Class Summary | |
---|---|
private class |
RequestMultiplexer.Closer
|
private class |
RequestMultiplexer.DemultiplexerDaemon
|
private class |
RequestMultiplexer.HeartBeatTask
Timer task responsible for sending a ping message to the server if no request has been sent during the specified timeout ('cnxPendingTimer' from the factory parameters). |
(package private) class |
RequestMultiplexer.onExceptionRunner
|
private static class |
RequestMultiplexer.Status
|
Field Summary | |
---|---|
private RequestChannel |
channel
|
private Connection |
cnx
|
private RequestMultiplexer.DemultiplexerDaemon |
demtpx
|
private javax.jms.ExceptionListener |
exceptionListener
|
private RequestMultiplexer.HeartBeatTask |
heartBeatTask
The task responsible for keeping the connection alive. |
private long |
lastRequestDate
The date of the last request |
private static org.objectweb.util.monolog.api.Logger |
logger
|
private int |
requestCounter
|
java.util.Hashtable |
requestsTable
|
private int |
status
|
private java.util.Timer |
timer
|
Constructor Summary | |
---|---|
RequestMultiplexer(Connection cnx,
RequestChannel channel,
long heartBeat)
|
Method Summary | |
---|---|
private void |
abortReply(AbstractJmsReply reply)
|
void |
abortRequest(int requestId)
Not synchronized because it would possibly deadlock with some reply listeners (actually requestors). |
void |
cleanup()
Used by: 1- close() 2- the connector layer (OutboundConnection.cleanup()) |
void |
close()
Not synchronized because it would possibly deadlock with some reply listeners (actually requestors). |
void |
closing()
|
void |
deny(ConsumerMessages messages)
|
private ReplyListener |
doAbortRequest(int requestId)
|
java.lang.String |
getDemultiplexerDaemonName()
|
javax.jms.ExceptionListener |
getExceptionListener()
|
boolean |
isClosed()
|
private void |
onException(java.lang.Exception exc)
|
private void |
route(AbstractJmsReply reply)
Not synchronized because it may be called by the demultiplexer during a concurrent close. |
void |
schedule(java.util.TimerTask task,
long period)
|
void |
sendRequest(AbstractJmsRequest request)
|
void |
sendRequest(AbstractJmsRequest request,
ReplyListener listener)
|
void |
setDemultiplexerDaemonName(java.lang.String name)
|
void |
setExceptionListener(javax.jms.ExceptionListener exceptionListener)
|
void |
setMultiThreadSync(int delay,
int threshold)
|
private void |
setStatus(int status)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static org.objectweb.util.monolog.api.Logger logger
private Connection cnx
private volatile int status
private RequestChannel channel
public java.util.Hashtable requestsTable
private int requestCounter
private RequestMultiplexer.DemultiplexerDaemon demtpx
private java.util.Timer timer
private RequestMultiplexer.HeartBeatTask heartBeatTask
private javax.jms.ExceptionListener exceptionListener
private volatile long lastRequestDate
Constructor Detail |
---|
public RequestMultiplexer(Connection cnx, RequestChannel channel, long heartBeat) throws javax.jms.JMSException
javax.jms.JMSException
Method Detail |
---|
private void setStatus(int status)
public boolean isClosed()
public void closing()
public void setExceptionListener(javax.jms.ExceptionListener exceptionListener)
public javax.jms.ExceptionListener getExceptionListener()
public void sendRequest(AbstractJmsRequest request) throws javax.jms.JMSException
javax.jms.JMSException
public void sendRequest(AbstractJmsRequest request, ReplyListener listener) throws javax.jms.JMSException
javax.jms.JMSException
public void setMultiThreadSync(int delay, int threshold)
public void close()
public void cleanup()
public void abortRequest(int requestId)
private ReplyListener doAbortRequest(int requestId)
private void route(AbstractJmsReply reply)
private void abortReply(AbstractJmsReply reply)
public void deny(ConsumerMessages messages)
private void onException(java.lang.Exception exc)
public void schedule(java.util.TimerTask task, long period)
public void setDemultiplexerDaemonName(java.lang.String name)
public java.lang.String getDemultiplexerDaemonName()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |