Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-6422

ejb3 subsystem thread-pools default config & xsd misleading

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • 10.0.0.Final
    • 11.0.0.Alpha1
    • EJB
    • None

    Description

      keepalive-time should be removed from the default profile configurations standalone*.xml / domain.xml as well as the ejb3 docs/schema xsd as the thread pool effectively takes the max-threads count and sets the core size of the thread pool to it, so keepalive-time is never used. Also, max-threads is misleading, the thread count is actually the core size as currently implemented, this causes confusion as if you set max-threads to 300 and you have at most 1 client, your thread pool will create a new thread upon ever request until it reaches 300 and thus while it is technically the max, it is also the core or min, or just # of threads.

                  <thread-pools>
                      <thread-pool name="default">
                          <max-threads count="10"/>
                          <keepalive-time time="100" unit="milliseconds"/>
                      </thread-pool>
                  </thread-pools>
      
                      A thread pool executor with an unbounded queue.  Such a thread pool has a core size and a queue with no
                      upper bound.  When a task is submitted, if the number of running threads is less than the core size,
                      a new thread is created.  Otherwise, the task is placed in queue.  If too many tasks are allowed to be
                      submitted to this type of executor, an out of memory condition may occur.
      
                      The "name" attribute is the name of the created executor.
      
                      The "max-threads" attribute must be used to specify the thread pool size.  The nested
                      "keepalive-time" element may used to specify the amount of time that pool threads should
                      be kept running when idle; if not specified, threads will run until the executor is shut down.
                      The "thread-factory" element specifies the bean name of a specific threads subsystem thread factory to
                      use to create worker threads. Usually it will not be set for an EJB3 thread pool and an appropriate
                      default thread factory will be used.
      

      Attachments

        Issue Links

          Activity

            People

              rpelisse@redhat.com Romain Pelisse
              rhn-support-bmaxwell Brad Maxwell
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: