5 Replies Latest reply: Feb 14, 2009 12:32 AM by Luis Espinal RSS

    Separate Execute Queue in JBOSS

    Rajesh Newbie

      Hello Jboss team,

      I have a jboss version 4.0.3 running with three nodes in cluster and deployed around 30 applications in the server and now i wanted to create a "Separate Execute Queue" for one application as per client request...

      Can you suggest me is it possible to create the execute queue for one app in JBOSS , if so could you guide me how to create the same.

      Appriciate your quick responce.

      Thanks,
      -Raj

        • 1. Re: Separate Execute Queue in JBOSS
          Rajesh Newbie

          Hi,

          Can some one answer my query... ?

          Is my query so silly or too tough to answer.


          -Raj

          • 2. Re: Separate Execute Queue in JBOSS
            Weston M. Price Master

            There is no concept of a 'Separate Excecute Queue' in JBoss. All applications (per node) share the same underlying thread pool. These settings can be found in your jboss-service.xml file which resides in the conf directory for your particular node:

            
            <!-- A Thread pool service -->
             <mbean code="org.jboss.util.threadpool.BasicThreadPool"
             name="jboss.system:service=ThreadPool">
             <attribute name="Name">JBoss System Threads</attribute>
             <attribute name="ThreadGroupName">System Threads</attribute>
             <!-- How long a thread will live without any tasks in MS -->
             <attribute name="KeepAliveTime">60000</attribute>
             <!-- The max number of threads in the pool -->
             <attribute name="MaximumPoolSize">10</attribute>
             <!-- The max number of tasks before the queue is full -->
             <attribute name="MaximumQueueSize">1000</attribute>
             <!-- The behavior of the pool when a task is added and the queue is full.
             abort - a RuntimeException is thrown
             run - the calling thread executes the task
             wait - the calling thread blocks until the queue has room
             discard - the task is silently discarded without being run
             discardOldest - check to see if a task is about to complete and enque
             the new task if possible, else run the task in the calling thread
             -->
             <attribute name="BlockingMode">run</attribute>
             </mbean>
            
            


            • 3. Re: Separate Execute Queue in JBOSS
              shiva Newbie

              we are migrating from weblogic to jboss we have execute queue in weblogic . How do i configure in jboss. Should i

              myqueue1
              System Threads
              <!-- How long a thread will live without any tasks in MS -->
              60000
              <!-- The max number of threads in the pool -->
              10
              <!-- The max number of tasks before the queue is full -->
              1000
              <!-- The behavior of the pool when a task is added and the queue is full.
              abort - a RuntimeException is thrown
              run - the calling thread executes the task
              wait - the calling thread blocks until the queue has room
              discard - the task is silently discarded without being run
              discardOldest - check to see if a task is about to complete and enque
              the new task if possible, else run the task in the calling thread
              -->

              run


              myqueue2
              System Threads
              <!-- How long a thread will live without any tasks in MS -->
              60000
              <!-- The max number of threads in the pool -->
              10
              <!-- The max number of tasks before the queue is full -->
              1000
              <!-- The behavior of the pool when a task is added and the queue is full.
              abort - a RuntimeException is thrown
              run - the calling thread executes the task
              wait - the calling thread blocks until the queue has room
              discard - the task is silently discarded without being run
              discardOldest - check to see if a task is about to complete and enque
              the new task if possible, else run the task in the calling thread
              -->

              • 4. Re: Separate Execute Queue in JBOSS
                Daniel En Newbie

                Any news on this topic? JBoss still doesnt support any form og execution queue or any other method to limit the number of simultaneous rmi calls to a jboss server. We need to limit the peek throughput so that we dont DDOS all of our sub systems (db, external systems etc) that has a limit of how many clients calls they may execute at the same time.

                The only solution we have found right now,
                pray that we never have any peaks in rmi trafic and that we can handle the normal application load within limits, is not good enough for production.

                We are migrating a weblogic application to jboss. Weblogic has execution queues that limit how many simultaneous rmi executions that could happen from all connected clients, and make sure that we always are safe within of the throughput limits of the system.

                This is a EJB2 system, using jboss 4.3 eap.
                If no solutions in the ejb2 container, does the new ejb3 container support somthing we could use?

                • 5. Re: Separate Execute Queue in JBOSS
                  Luis Espinal Newbie

                  Oh my, I'm also coming from a WL point of view, and I have to say I'm extremely surprised JBoss does not support separate execute queues.

                  OTH, I'm sure some developers that use JBoss as their AS must surely had encounter a situation where resources had to be prioritized (or contained) differently from the rest.

                  How exactly people manage this? If, for reasons of performance or availability you have to segregate your incoming requests into different queues/thread pools/whatever, how do you guys handle that in JBoss? Do you need to have separate JBoss instances for each group?