Class RequestMultiplexer


  • public class RequestMultiplexer
    extends Object
    • Method Detail

      • buildJmsException

        public static JMSException buildJmsException​(org.objectweb.joram.shared.client.MomExceptionReply excReply)
        Converts a MomExceptionReply to the corresponding JMSException.
        Parameters:
        excReply - the MOM reply to convert
        Returns:
        the corresponding Exception
      • checkDemultiplexerDaemon

        public boolean checkDemultiplexerDaemon()
      • checkCLSession

        public boolean checkCLSession​(Session session)
      • createTimer

        private static void createTimer()
      • cancelTimer

        private static void cancelTimer()
      • getTimer

        private static Timer getTimer()
      • setStatus

        private void setStatus​(int status)
      • isClosed

        public boolean isClosed()
      • closing

        public void closing()
      • setExceptionListener

        public void setExceptionListener​(ExceptionListener exceptionListener)
      • sendRequest

        public void sendRequest​(org.objectweb.joram.shared.client.AbstractJmsRequest request)
                         throws JMSException
        Throws:
        JMSException
      • setMultiThreadSync

        public void setMultiThreadSync​(int delay,
                                       int threshold)
      • close

        public void close()
        Not synchronized because it would possibly deadlock with some reply listeners (actually requestors).
      • cleanup

        public void cleanup()
        Aborts all running requests. Used by: 1- close() 2- the connector layer (OutboundConnection.cleanup())
      • replyAllError

        public void replyAllError​(org.objectweb.joram.shared.client.MomExceptionReply exc)
      • abortRequest

        public void abortRequest​(int requestId)
        Not synchronized because it would possibly deadlock with some reply listeners (actually requestors).
      • doAbortRequest

        private ReplyListener doAbortRequest​(int requestId)
      • route

        private void route​(org.objectweb.joram.shared.client.AbstractJmsReply reply,
                           boolean isCompletionListener)
        Not synchronized because it may be called by the demultiplexer during a concurrent close. It would deadlock as the close waits for the demultiplexer to stop.
      • abortReply

        private void abortReply​(org.objectweb.joram.shared.client.AbstractJmsReply reply)
      • deny

        public void deny​(org.objectweb.joram.shared.client.ConsumerMessages messages)
      • denyRequest

        public void denyRequest​(org.objectweb.joram.shared.client.ConsumerReceiveRequest request)
      • onException

        private void onException​(Exception exc)
      • schedule

        public void schedule​(TimerTask task,
                             long period)
      • setDemultiplexerDaemonName

        public void setDemultiplexerDaemonName​(String name)
      • getDemultiplexerDaemonName

        public String getDemultiplexerDaemonName()