1 Reply Latest reply on Jul 26, 2010 3:27 AM by Jeff Mesnil

    StompProtocolManager is using a single executor instance

    Clebert Suconic Master

      On StompProtocolManager, there is this code:

         private StompSession getSession(StompConnection connection) throws Exception
         {
            StompSession stompSession = sessions.get(connection.getID());
            if (stompSession == null)
            {
               stompSession = new StompSession(connection, this, server.getStorageManager().newContext(executor));
      
      

      All sessions are sharing the same executor instance.

       

       

      You should have each session with its own executor, just like it's done on HornetQPacketHandler.createSession:

       

      server.getStorageManager()                                                                                   .newContext(server.getExecutorFactory().getExecutor()),
      
      

      Notice the ExecutorFactory will be using a OrderedExecutor.