activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Oppenheim (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-5133) Selector Worker thread consumes significant CPU when broker is idle
Date Thu, 03 Apr 2014 19:23:16 GMT

     [ https://issues.apache.org/jira/browse/AMQ-5133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Oppenheim updated AMQ-5133:
---------------------------------

    Description: 
The Selector Worker thread is consuming 25% of the host CPU even though there are no active producers or consumers and there are no messages in the message store.  I was able to identify the offending thread by first using {{ps -eLF}} to find the ActiveMQ thread with a relatively large and continually increasing amount of CPU time.  I then correlated the thread ID (LWP  column  in ps output) to the native thread ID provided by the 'nid' value in the thread dump.  At the time I ran {{ps}}, the Selector Worker thread had taken over 20 hours of CPU time while the next closest ActiveMQ thread had taken 3 minutes of CPU time.  The Selector Worker thread has nid=0x489 in the thread dump below.

h4.  Steps To Reproduce

Unfortunately, I don't have repeatable steps to reproduce.  I think the issue may have occurred while I was purging a queue that active consumers.  The queue had several thousand persistent messages  simultaneously
 
h4. Thread Dump

{noformat}
2014-04-03 10:23:18
Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode):

"ActiveMQ NIO Worker 807" daemon prio=10 tid=0x00007fc764031800 nid=0x34e7 waiting on condition [0x00007fc7b0786000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba8001c0> (a java.util.concurrent.SynchronousQueue$TransferStack)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ NIO Worker 806" daemon prio=10 tid=0x00007fc764017000 nid=0x346c waiting on condition [0x00007fc7b09ad000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba8001c0> (a java.util.concurrent.SynchronousQueue$TransferStack)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ InactivityMonitor Worker" daemon prio=10 tid=0x00007fc774003000 nid=0x2848 waiting on condition [0x00007fc7b0040000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba82b968> (a java.util.concurrent.SynchronousQueue$TransferStack)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"Attach Listener" daemon prio=10 tid=0x00007fc78c001000 nid=0x1788 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"ActiveMQ BrokerService[ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402] Task-135" daemon prio=10 tid=0x00007fc7700dd000 nid=0x10aa waiting on condition [0x00007fc7b059c000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba800290> (a java.util.concurrent.SynchronousQueue$TransferStack)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"RMI Scheduler(0)" daemon prio=10 tid=0x00007fc780003800 nid=0x495 waiting on condition [0x00007fc7b0b04000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba822528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ BrokerService.worker.1" daemon prio=10 tid=0x00007fc77000e000 nid=0x491 waiting on condition [0x00007fc7b094b000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba8f6638> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ InactivityMonitor WriteCheckTimer" daemon prio=10 tid=0x00007fc77000a800 nid=0x48d in Object.wait() [0x00007fc7b0a0f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7ba9c0960> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"ActiveMQ InactivityMonitor ReadCheckTimer" daemon prio=10 tid=0x00007fc770009000 nid=0x48c in Object.wait() [0x00007fc7b0a40000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7ba9c0a38> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"Selector Worker: 0" daemon prio=10 tid=0x00007fc76801a000 nid=0x489 runnable [0x00007fc7b0ad3000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.updateRegistrations(EPollArrayWrapper.java:230)
        - locked <0x00007fc7bb1777f8> (a java.util.LinkedList)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:214)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00007fc7ba9c0b90> (a sun.nio.ch.Util$1)
        - locked <0x00007fc7ba9c0ba8> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00007fc7ba9067d0> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at org.apache.activemq.transport.nio.SelectorWorker.run(SelectorWorker.java:93)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-44" prio=10 tid=0x00007fc75ca7a000 nid=0x481 waiting on condition [0x00007fc7b0b35000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-43" prio=10 tid=0x00007fc75ca78000 nid=0x480 waiting on condition [0x00007fc7b0b66000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-42" prio=10 tid=0x00007fc75ca76000 nid=0x47f waiting on condition [0x00007fc7b0b97000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-41" prio=10 tid=0x00007fc75ca74800 nid=0x47e waiting on condition [0x00007fc7b0bc8000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-40" prio=10 tid=0x00007fc75ca73000 nid=0x47d waiting on condition [0x00007fc7b0bf9000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-39" prio=10 tid=0x00007fc75ca72000 nid=0x47c waiting on condition [0x00007fc7b0c2a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-38 Acceptor0 SelectChannelConnector@0.0.0.0:8161" prio=10 tid=0x00007fc75ca64800 nid=0x47b runnable [0x00007fc7b0c5b000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
        - locked <0x00007fc7ba9c1510> (a java.lang.Object)
        at org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:109)
        at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:938)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
        at java.lang.Thread.run(Thread.java:619)

"qtp1649900638-37 Selector0" prio=10 tid=0x00007fc75ca64000 nid=0x47a runnable [0x00007fc7b0c8c000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00007fc7ba9c1e38> (a sun.nio.ch.Util$1)
        - locked <0x00007fc7ba9c1e20> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00007fc7ba9c1a78> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569)
        at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:290)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
        at java.lang.Thread.run(Thread.java:619)

"HashSessionScavenger-3" daemon prio=10 tid=0x00007fc75ca4d000 nid=0x479 in Object.wait() [0x00007fc7b0cbd000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7baa22728> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"HashSessionScavenger-2" daemon prio=10 tid=0x00007fc75ca4c000 nid=0x478 in Object.wait() [0x00007fc7b0cee000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7baaafe38> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"HashSessionScavenger-1" daemon prio=10 tid=0x00007fc75c9b4800 nid=0x477 in Object.wait() [0x00007fc7b0d3d000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7bac11d38> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"HashSessionScavenger-0" daemon prio=10 tid=0x00007fc75c8e4000 nid=0x476 in Object.wait() [0x00007fc7b0d6e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7baceab20> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"ActiveMQ Transport Server: nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000" daemon prio=10 tid=0x00007fc75c80b000 nid=0x469 runnable [0x00007fc7b0dc0000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00007fc7bad58570> (a sun.nio.ch.Util$1)
        - locked <0x00007fc7bad58588> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00007fc7bad584f8> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:105)
        - locked <0x00007fc7bad585a0> (a java.lang.Object)
        at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:299)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ Transport Server Thread Handler: nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000" daemon prio=10 tid=0x00007fc75c6c7800 nid=0x468 waiting on condition [0x00007fc7b0df1000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7bad59360> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:395)
        at org.apache.activemq.transport.tcp.TcpTransportServer$1.run(TcpTransportServer.java:373)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ JDBC PA Scheduled Task" daemon prio=10 tid=0x00007fc75c801800 nid=0x467 waiting on condition [0x00007fc7b0f2a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba8cd978> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ JDBC PA Scheduled Task" daemon prio=10 tid=0x00007fc75c801000 nid=0x466 waiting on condition [0x00007fc7b14b6000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7ba8cd978> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
        at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

"ActiveMQ Broker[ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402] Scheduler" daemon prio=10 tid=0x00007fc75c7c9000 nid=0x465 in Object.wait() [0x00007fc7b1518000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7ba903448> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#5" daemon prio=10 tid=0x00007fc75c7c5000 nid=0x464 in Object.wait() [0x00007fc7b0f65000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#4" daemon prio=10 tid=0x00007fc75c705800 nid=0x463 in Object.wait() [0x00007fc7b0f96000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#3" daemon prio=10 tid=0x00007fc75c71f800 nid=0x462 in Object.wait() [0x00007fc7b0fc7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=10 tid=0x00007fc75c702800 nid=0x461 in Object.wait() [0x00007fc7b0ff8000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=10 tid=0x00007fc75c731000 nid=0x460 in Object.wait() [0x00007fc7b1029000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=10 tid=0x00007fc75c704800 nid=0x45f in Object.wait() [0x00007fc7b105a000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"Timer-0" daemon prio=10 tid=0x00007fc75c7bc000 nid=0x45e in Object.wait() [0x00007fc7b108b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00007fc7ba885b40> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"WrapperSimpleAppMain" prio=10 tid=0x00007fc768001000 nid=0x45d waiting on condition [0x00007fc7b1484000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00007fc7bac8e818> (a java.util.concurrent.CountDownLatch$Sync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
        at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:118)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
        at org.apache.activemq.console.Main.main(Main.java:115)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
        at java.lang.Thread.run(Thread.java:619)

"DestroyJavaVM" prio=10 tid=0x00007fc928009000 nid=0x449 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Wrapper-Connection" daemon prio=10 tid=0x00007fc928159000 nid=0x45b runnable [0x00007fc7b14e7000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:182)
        at java.io.DataInputStream.readByte(DataInputStream.java:248)
        at org.tanukisoftware.wrapper.WrapperManager.handleSocket(WrapperManager.java:3737)
        at org.tanukisoftware.wrapper.WrapperManager.run(WrapperManager.java:4084)
        at java.lang.Thread.run(Thread.java:619)

"Wrapper-Control-Event-Monitor" daemon prio=10 tid=0x00007fc9281b4000 nid=0x459 waiting on condition [0x00007fc7b1549000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.tanukisoftware.wrapper.WrapperManager$3.run(WrapperManager.java:731)

"RMI TCP Accept-0" daemon prio=10 tid=0x00007fc928145800 nid=0x457 runnable [0x00007fc7b177e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        - locked <0x00007fc7bab32bc8> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
        at java.lang.Thread.run(Thread.java:619)

"RMI TCP Accept-1099" daemon prio=10 tid=0x00007fc928140000 nid=0x456 runnable [0x00007fc7b17af000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        - locked <0x00007fc7bab32f50> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
        at java.lang.Thread.run(Thread.java:619)

"RMI TCP Accept-0" daemon prio=10 tid=0x00007fc92812f000 nid=0x455 runnable [0x00007fc7b17e0000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        - locked <0x00007fc7bad7df40> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
        at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=10 tid=0x00007fc928091000 nid=0x454 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x00007fc92808e000 nid=0x453 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x00007fc92808b800 nid=0x452 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00007fc928089800 nid=0x451 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00007fc92806d000 nid=0x450 in Object.wait() [0x00007fc7b1cd0000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00007fc7bad7e630> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00007fc92806b800 nid=0x44f in Object.wait() [0x00007fc7b1d01000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x00007fc7ba821d08> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x00007fc928064800 nid=0x44e runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fc928013000 nid=0x44a runnable

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fc928014800 nid=0x44b runnable

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fc928016800 nid=0x44c runnable

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fc928018800 nid=0x44d runnable

"VM Periodic Task Thread" prio=10 tid=0x00007fc928148000 nid=0x458 waiting on condition

JNI global references: 703
{noformat}

h4. activemq.xml
{noformat}
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

        <!-- Allows us to use system properties as variables in this configuration file -->
        <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                <property name="locations">
                        <value>file:${activemq.conf}/credentials.properties</value>
                </property>
        </bean>

        <broker useJmx="true" brokerName="ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402" xmlns="http://activemq.apache.org/schema/core" schedulerSupport="false" advisorySupport="false">
                <plugins>
                        <!-- enable logging of connection, session, and dispatch events -->
                        <loggingBrokerPlugin logConsumerEvents="true" logProducerEvents="true"/>
                </plugins>

                <managementContext>
                        <managementContext createConnector="false"/>
                </managementContext>

                <destinationPolicy>
                        <policyMap>
                                <policyEntries>
                                        <policyEntry topic=">" producerFlowControl="false" memoryLimit="100kb">
                                                <pendingSubscriberPolicy>
                                                        <vmCursor />
                                                </pendingSubscriberPolicy>
                                        </policyEntry>
                                        <policyEntry queue=">" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="64mb" maxPageSize="1000"  expireMessagesPeriod="7200000" cursorMemoryHighWaterMark="100" prioritizedMessages="true" />
                                        <policyEntry queue="documentConversionService" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="1665mb" maxPageSize="1000" expireMessagesPeriod="7200000" cursorMemoryHighWaterMark="100" prioritizedMessages="true" />
                                        <policyEntry queue="ActiveMQ.DLQ" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="200mb" maxPageSize="1000"  cursorMemoryHighWaterMark="100"/>
                                </policyEntries>
                        </policyMap>
                </destinationPolicy>
                <!--
        See more database locker options at http://activemq.apache.org/pluggable-storage-lockers.html
    -->
                <persistenceAdapter>
                        <jdbcPersistenceAdapter createTablesOnStartup="false" useDatabaseLock="true" dataSource="#mssql-ds" lockAcquireSleepInterval="10000" lockKeepAlivePeriod="5000" maxRows="10">
                                <databaseLocker>
                                        <lease-database-locker/>
                                </databaseLocker>
                        </jdbcPersistenceAdapter>
                </persistenceAdapter>

                <systemUsage>
                        <systemUsage sendFailIfNoSpaceAfterTimeout="5000">
                                <memoryUsage>
                                        <memoryUsage limit="3700mb"/>
                                </memoryUsage>
                                <tempUsage>
                                        <tempUsage limit="2700mb"/>
                                </tempUsage>
                        </systemUsage>
                </systemUsage>

                <transportConnectors>
                        <transportConnector name="nio" uri="nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000"/>
                </transportConnectors>
        </broker>

        <bean id="mssql-ds" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
                <property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
                <property name="jdbcUrl" value="jdbc:sqlserver://10.56.27.166:1433;databaseName=amq_test_performance1;sendStringParametersAsUnicode=false"/>
                <property name="user" value="********"/>
                <property name="password" value="*********"/>
                <property name="minPoolSize" value="5" />
                <property name="maxPoolSize" value="-1" />
                <property name="acquireIncrement" value="20" />
                <property name="acquireRetryAttempts" value="100"/>
                <property name="acquireRetryDelay" value="5000"/>
                <property name="maxIdleTime" value="3600" />
                <property name="numHelperThreads" value="6" />
        </bean>

        <import resource="jetty.xml"/>
</beans>
{noformat}

h4. wrapper.conf

{noformat}
#********************************************************************
# Wrapper Properties
#********************************************************************

#wrapper.debug=TRUE
set.default.ACTIVEMQ_HOME=../..
set.default.ACTIVEMQ_BASE=../..
set.default.ACTIVEMQ_CONF=%ACTIVEMQ_BASE%/conf
set.default.ACTIVEMQ_DATA=%ACTIVEMQ_BASE%/data
wrapper.working.dir=.

# Java Application
wrapper.java.command=java

# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=%ACTIVEMQ_HOME%/bin/wrapper.jar
wrapper.java.classpath.2=%ACTIVEMQ_HOME%/bin/activemq.jar

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=%ACTIVEMQ_HOME%/bin/linux-x86-64/

# Java Additional Parameters
# note that n is the parameter number starting from 1.
wrapper.java.additional.1=-Dactivemq.home=%ACTIVEMQ_HOME%
wrapper.java.additional.2=-Dactivemq.base=%ACTIVEMQ_BASE%
wrapper.java.additional.3=-Djavax.net.ssl.keyStorePassword=password
wrapper.java.additional.4=-Djavax.net.ssl.trustStorePassword=password
wrapper.java.additional.5=-Djavax.net.ssl.keyStore=%ACTIVEMQ_CONF%/broker.ks
wrapper.java.additional.6=-Djavax.net.ssl.trustStore=%ACTIVEMQ_CONF%/broker.ts
wrapper.java.additional.7=-Dcom.sun.management.jmxremote
wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=false
wrapper.java.additional.9=-Djava.util.logging.config.file=logging.properties
wrapper.java.additional.10=-Dactivemq.conf=%ACTIVEMQ_CONF%
wrapper.java.additional.11=-Dactivemq.data=%ACTIVEMQ_DATA%



# Uncomment to enable jmx
wrapper.java.additional.12=-Dcom.sun.management.jmxremote.port=1099
wrapper.java.additional.13=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.14=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.15=-Xms1024m
wrapper.java.additional.16=-Xmx5800m
wrapper.java.additional.17=-Xss192k
wrapper.java.additional.18=-XX:MaxPermSize=128m
wrapper.java.additional.19=-XX:MaxGCPauseMillis=2000
wrapper.java.additional.20=-XX:GCTimeRatio=19
wrapper.java.additional.21=-XX:+HeapDumpOnOutOfMemoryError

# hawtio configuration
wrapper.java.additional.22=-Dhawtio.realm=activemq
wrapper.java.additional.23=-Dhawtio.role=admins
wrapper.java.additional.24=-Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal
wrapper.java.additional.25=-Djava.security.auth.login.config=%ACTIVEMQ_CONF%/login.config


#wrapper.java.additional.22=-Xrunyjpagent=
#wrapper.java.additional.23=-agentpath:/export/data/centos-activemq-distribution/yourkit/yjp-11.0.10/bin/linux-x86-64/libyjpagent.so

# Uncomment to enable remote debugging
#wrapper.java.additional.24=-Xdebug -Xnoagent -Djava.compiler=NONE

#wrapper.java.additional.25=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=2048

# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=4600

# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=org.apache.activemq.console.Main
wrapper.app.parameter.2=start

#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console.  (See docs for formats)
wrapper.console.format=PM

# Log Level for console output.  (See docs for log levels)
wrapper.console.loglevel=INFO

# Log file to use for wrapper output logging.
wrapper.logfile=%ACTIVEMQ_DATA%/wrapper.log

# Format of output for the log file.  (See docs for formats)
wrapper.logfile.format=LPTM

# Log Level for log file output.  (See docs for log levels)
wrapper.logfile.loglevel=INFO

# Maximum size that the log file will be allowed to grow to before
#  the log is rolled. Size is specified in bytes.  The default value
#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=100m

# Maximum number of rolled log files which will be allowed before old
#  files are deleted.  The default value of 0 implies no limit.
wrapper.logfile.maxfiles=5

# Log Level for sys/event log output.  (See docs for log levels)
wrapper.syslog.loglevel=INFO

#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=ActiveMQ

#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
#  using this configuration file has been installed as a service.
#  Please uninstall the service before modifying this section.  The
#  service can then be reinstalled.

# Name of the service
wrapper.ntservice.name=ActiveMQ

# Display name of the service
wrapper.ntservice.displayname=ActiveMQ

# Description of the service
wrapper.ntservice.description=ActiveMQ Broker

# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=

# Mode in which the service is installed.  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false
{noformat}

  was:The Selector Worker thread is consuming 25% of my host CPU even though there are no active producers or consumers and there are no messages in the message store.  Unfortunately, I don't know of way to reproduce this issue.  I was able to identify the offending thread by first using {{ps -eLF}} to find the ActiveMQ thread with a relatively large and continually increasing amount of CPU time.  I then correlated the thread ID (LWP  column  in ps output) to the 


> Selector Worker thread consumes significant CPU when broker is idle
> -------------------------------------------------------------------
>
>                 Key: AMQ-5133
>                 URL: https://issues.apache.org/jira/browse/AMQ-5133
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.9.0
>         Environment: OS:CentOS release 6.5
> Java: 1.6.0_17, Java HotSpot 64-Bit Server VM
> Host: VMWare Xeon(R) CPU E5-2660 0; 4 core @2.2GHz
>            Reporter: Keith Oppenheim
>
> The Selector Worker thread is consuming 25% of the host CPU even though there are no active producers or consumers and there are no messages in the message store.  I was able to identify the offending thread by first using {{ps -eLF}} to find the ActiveMQ thread with a relatively large and continually increasing amount of CPU time.  I then correlated the thread ID (LWP  column  in ps output) to the native thread ID provided by the 'nid' value in the thread dump.  At the time I ran {{ps}}, the Selector Worker thread had taken over 20 hours of CPU time while the next closest ActiveMQ thread had taken 3 minutes of CPU time.  The Selector Worker thread has nid=0x489 in the thread dump below.
> h4.  Steps To Reproduce
> Unfortunately, I don't have repeatable steps to reproduce.  I think the issue may have occurred while I was purging a queue that active consumers.  The queue had several thousand persistent messages  simultaneously
>  
> h4. Thread Dump
> {noformat}
> 2014-04-03 10:23:18
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode):
> "ActiveMQ NIO Worker 807" daemon prio=10 tid=0x00007fc764031800 nid=0x34e7 waiting on condition [0x00007fc7b0786000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba8001c0> (a java.util.concurrent.SynchronousQueue$TransferStack)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
>         at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
>         at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ NIO Worker 806" daemon prio=10 tid=0x00007fc764017000 nid=0x346c waiting on condition [0x00007fc7b09ad000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba8001c0> (a java.util.concurrent.SynchronousQueue$TransferStack)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
>         at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
>         at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ InactivityMonitor Worker" daemon prio=10 tid=0x00007fc774003000 nid=0x2848 waiting on condition [0x00007fc7b0040000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba82b968> (a java.util.concurrent.SynchronousQueue$TransferStack)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
>         at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
>         at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "Attach Listener" daemon prio=10 tid=0x00007fc78c001000 nid=0x1788 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "ActiveMQ BrokerService[ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402] Task-135" daemon prio=10 tid=0x00007fc7700dd000 nid=0x10aa waiting on condition [0x00007fc7b059c000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba800290> (a java.util.concurrent.SynchronousQueue$TransferStack)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
>         at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
>         at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "RMI Scheduler(0)" daemon prio=10 tid=0x00007fc780003800 nid=0x495 waiting on condition [0x00007fc7b0b04000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba822528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>         at java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ BrokerService.worker.1" daemon prio=10 tid=0x00007fc77000e000 nid=0x491 waiting on condition [0x00007fc7b094b000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba8f6638> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
>         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ InactivityMonitor WriteCheckTimer" daemon prio=10 tid=0x00007fc77000a800 nid=0x48d in Object.wait() [0x00007fc7b0a0f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7ba9c0960> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "ActiveMQ InactivityMonitor ReadCheckTimer" daemon prio=10 tid=0x00007fc770009000 nid=0x48c in Object.wait() [0x00007fc7b0a40000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7ba9c0a38> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "Selector Worker: 0" daemon prio=10 tid=0x00007fc76801a000 nid=0x489 runnable [0x00007fc7b0ad3000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.EPollArrayWrapper.updateRegistrations(EPollArrayWrapper.java:230)
>         - locked <0x00007fc7bb1777f8> (a java.util.LinkedList)
>         at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:214)
>         at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>         - locked <0x00007fc7ba9c0b90> (a sun.nio.ch.Util$1)
>         - locked <0x00007fc7ba9c0ba8> (a java.util.Collections$UnmodifiableSet)
>         - locked <0x00007fc7ba9067d0> (a sun.nio.ch.EPollSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>         at org.apache.activemq.transport.nio.SelectorWorker.run(SelectorWorker.java:93)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-44" prio=10 tid=0x00007fc75ca7a000 nid=0x481 waiting on condition [0x00007fc7b0b35000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-43" prio=10 tid=0x00007fc75ca78000 nid=0x480 waiting on condition [0x00007fc7b0b66000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-42" prio=10 tid=0x00007fc75ca76000 nid=0x47f waiting on condition [0x00007fc7b0b97000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-41" prio=10 tid=0x00007fc75ca74800 nid=0x47e waiting on condition [0x00007fc7b0bc8000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-40" prio=10 tid=0x00007fc75ca73000 nid=0x47d waiting on condition [0x00007fc7b0bf9000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-39" prio=10 tid=0x00007fc75ca72000 nid=0x47c waiting on condition [0x00007fc7b0c2a000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba9c0ce0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:342)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:526)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.access$600(QueuedThreadPool.java:44)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-38 Acceptor0 SelectChannelConnector@0.0.0.0:8161" prio=10 tid=0x00007fc75ca64800 nid=0x47b runnable [0x00007fc7b0c5b000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
>         at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
>         - locked <0x00007fc7ba9c1510> (a java.lang.Object)
>         at org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:109)
>         at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:938)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>         at java.lang.Thread.run(Thread.java:619)
> "qtp1649900638-37 Selector0" prio=10 tid=0x00007fc75ca64000 nid=0x47a runnable [0x00007fc7b0c8c000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
>         at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
>         at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>         - locked <0x00007fc7ba9c1e38> (a sun.nio.ch.Util$1)
>         - locked <0x00007fc7ba9c1e20> (a java.util.Collections$UnmodifiableSet)
>         - locked <0x00007fc7ba9c1a78> (a sun.nio.ch.EPollSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>         at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:569)
>         at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:290)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>         at java.lang.Thread.run(Thread.java:619)
> "HashSessionScavenger-3" daemon prio=10 tid=0x00007fc75ca4d000 nid=0x479 in Object.wait() [0x00007fc7b0cbd000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7baa22728> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "HashSessionScavenger-2" daemon prio=10 tid=0x00007fc75ca4c000 nid=0x478 in Object.wait() [0x00007fc7b0cee000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7baaafe38> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "HashSessionScavenger-1" daemon prio=10 tid=0x00007fc75c9b4800 nid=0x477 in Object.wait() [0x00007fc7b0d3d000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7bac11d38> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "HashSessionScavenger-0" daemon prio=10 tid=0x00007fc75c8e4000 nid=0x476 in Object.wait() [0x00007fc7b0d6e000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7baceab20> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "ActiveMQ Transport Server: nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000" daemon prio=10 tid=0x00007fc75c80b000 nid=0x469 runnable [0x00007fc7b0dc0000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
>         at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
>         at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>         - locked <0x00007fc7bad58570> (a sun.nio.ch.Util$1)
>         - locked <0x00007fc7bad58588> (a java.util.Collections$UnmodifiableSet)
>         - locked <0x00007fc7bad584f8> (a sun.nio.ch.EPollSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>         at sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:105)
>         - locked <0x00007fc7bad585a0> (a java.lang.Object)
>         at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java:299)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ Transport Server Thread Handler: nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000" daemon prio=10 tid=0x00007fc75c6c7800 nid=0x468 waiting on condition [0x00007fc7b0df1000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7bad59360> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:395)
>         at org.apache.activemq.transport.tcp.TcpTransportServer$1.run(TcpTransportServer.java:373)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ JDBC PA Scheduled Task" daemon prio=10 tid=0x00007fc75c801800 nid=0x467 waiting on condition [0x00007fc7b0f2a000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba8cd978> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ JDBC PA Scheduled Task" daemon prio=10 tid=0x00007fc75c801000 nid=0x466 waiting on condition [0x00007fc7b14b6000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7ba8cd978> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
>         at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ Broker[ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402] Scheduler" daemon prio=10 tid=0x00007fc75c7c9000 nid=0x465 in Object.wait() [0x00007fc7b1518000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7ba903448> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#5" daemon prio=10 tid=0x00007fc75c7c5000 nid=0x464 in Object.wait() [0x00007fc7b0f65000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#4" daemon prio=10 tid=0x00007fc75c705800 nid=0x463 in Object.wait() [0x00007fc7b0f96000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#3" daemon prio=10 tid=0x00007fc75c71f800 nid=0x462 in Object.wait() [0x00007fc7b0fc7000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=10 tid=0x00007fc75c702800 nid=0x461 in Object.wait() [0x00007fc7b0ff8000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=10 tid=0x00007fc75c731000 nid=0x460 in Object.wait() [0x00007fc7b1029000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=10 tid=0x00007fc75c704800 nid=0x45f in Object.wait() [0x00007fc7b105a000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
>         - locked <0x00007fc7ba870a98> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)
> "Timer-0" daemon prio=10 tid=0x00007fc75c7bc000 nid=0x45e in Object.wait() [0x00007fc7b108b000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0x00007fc7ba885b40> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)
> "WrapperSimpleAppMain" prio=10 tid=0x00007fc768001000 nid=0x45d waiting on condition [0x00007fc7b1484000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00007fc7bac8e818> (a java.util.concurrent.CountDownLatch$Sync)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:905)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1217)
>         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
>         at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:118)
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>         at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150)
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>         at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
>         at org.apache.activemq.console.Main.main(Main.java:115)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
>         at java.lang.Thread.run(Thread.java:619)
> "DestroyJavaVM" prio=10 tid=0x00007fc928009000 nid=0x449 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Wrapper-Connection" daemon prio=10 tid=0x00007fc928159000 nid=0x45b runnable [0x00007fc7b14e7000]
>    java.lang.Thread.State: RUNNABLE
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.net.SocketInputStream.read(SocketInputStream.java:182)
>         at java.io.DataInputStream.readByte(DataInputStream.java:248)
>         at org.tanukisoftware.wrapper.WrapperManager.handleSocket(WrapperManager.java:3737)
>         at org.tanukisoftware.wrapper.WrapperManager.run(WrapperManager.java:4084)
>         at java.lang.Thread.run(Thread.java:619)
> "Wrapper-Control-Event-Monitor" daemon prio=10 tid=0x00007fc9281b4000 nid=0x459 waiting on condition [0x00007fc7b1549000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>         at java.lang.Thread.sleep(Native Method)
>         at org.tanukisoftware.wrapper.WrapperManager$3.run(WrapperManager.java:731)
> "RMI TCP Accept-0" daemon prio=10 tid=0x00007fc928145800 nid=0x457 runnable [0x00007fc7b177e000]
>    java.lang.Thread.State: RUNNABLE
>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>         - locked <0x00007fc7bab32bc8> (a java.net.SocksSocketImpl)
>         at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>         at java.net.ServerSocket.accept(ServerSocket.java:421)
>         at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
>         at java.lang.Thread.run(Thread.java:619)
> "RMI TCP Accept-1099" daemon prio=10 tid=0x00007fc928140000 nid=0x456 runnable [0x00007fc7b17af000]
>    java.lang.Thread.State: RUNNABLE
>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>         - locked <0x00007fc7bab32f50> (a java.net.SocksSocketImpl)
>         at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>         at java.net.ServerSocket.accept(ServerSocket.java:421)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
>         at java.lang.Thread.run(Thread.java:619)
> "RMI TCP Accept-0" daemon prio=10 tid=0x00007fc92812f000 nid=0x455 runnable [0x00007fc7b17e0000]
>    java.lang.Thread.State: RUNNABLE
>         at java.net.PlainSocketImpl.socketAccept(Native Method)
>         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
>         - locked <0x00007fc7bad7df40> (a java.net.SocksSocketImpl)
>         at java.net.ServerSocket.implAccept(ServerSocket.java:453)
>         at java.net.ServerSocket.accept(ServerSocket.java:421)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
>         at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
>         at java.lang.Thread.run(Thread.java:619)
> "Low Memory Detector" daemon prio=10 tid=0x00007fc928091000 nid=0x454 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "CompilerThread1" daemon prio=10 tid=0x00007fc92808e000 nid=0x453 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "CompilerThread0" daemon prio=10 tid=0x00007fc92808b800 nid=0x452 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" daemon prio=10 tid=0x00007fc928089800 nid=0x451 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Finalizer" daemon prio=10 tid=0x00007fc92806d000 nid=0x450 in Object.wait() [0x00007fc7b1cd0000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>         - locked <0x00007fc7bad7e630> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> "Reference Handler" daemon prio=10 tid=0x00007fc92806b800 nid=0x44f in Object.wait() [0x00007fc7b1d01000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         at java.lang.Object.wait(Object.java:485)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x00007fc7ba821d08> (a java.lang.ref.Reference$Lock)
> "VM Thread" prio=10 tid=0x00007fc928064800 nid=0x44e runnable
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fc928013000 nid=0x44a runnable
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fc928014800 nid=0x44b runnable
> "GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fc928016800 nid=0x44c runnable
> "GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fc928018800 nid=0x44d runnable
> "VM Periodic Task Thread" prio=10 tid=0x00007fc928148000 nid=0x458 waiting on condition
> JNI global references: 703
> {noformat}
> h4. activemq.xml
> {noformat}
> <beans
>   xmlns="http://www.springframework.org/schema/beans"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
>   http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
>         <!-- Allows us to use system properties as variables in this configuration file -->
>         <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>                 <property name="locations">
>                         <value>file:${activemq.conf}/credentials.properties</value>
>                 </property>
>         </bean>
>         <broker useJmx="true" brokerName="ActiveMQ-HCE-Playpen-partition-3-ndmhce-amq402" xmlns="http://activemq.apache.org/schema/core" schedulerSupport="false" advisorySupport="false">
>                 <plugins>
>                         <!-- enable logging of connection, session, and dispatch events -->
>                         <loggingBrokerPlugin logConsumerEvents="true" logProducerEvents="true"/>
>                 </plugins>
>                 <managementContext>
>                         <managementContext createConnector="false"/>
>                 </managementContext>
>                 <destinationPolicy>
>                         <policyMap>
>                                 <policyEntries>
>                                         <policyEntry topic=">" producerFlowControl="false" memoryLimit="100kb">
>                                                 <pendingSubscriberPolicy>
>                                                         <vmCursor />
>                                                 </pendingSubscriberPolicy>
>                                         </policyEntry>
>                                         <policyEntry queue=">" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="64mb" maxPageSize="1000"  expireMessagesPeriod="7200000" cursorMemoryHighWaterMark="100" prioritizedMessages="true" />
>                                         <policyEntry queue="documentConversionService" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="1665mb" maxPageSize="1000" expireMessagesPeriod="7200000" cursorMemoryHighWaterMark="100" prioritizedMessages="true" />
>                                         <policyEntry queue="ActiveMQ.DLQ" optimizedDispatch="true" producerFlowControl="false" enableAudit="true" memoryLimit="200mb" maxPageSize="1000"  cursorMemoryHighWaterMark="100"/>
>                                 </policyEntries>
>                         </policyMap>
>                 </destinationPolicy>
>                 <!--
>         See more database locker options at http://activemq.apache.org/pluggable-storage-lockers.html
>     -->
>                 <persistenceAdapter>
>                         <jdbcPersistenceAdapter createTablesOnStartup="false" useDatabaseLock="true" dataSource="#mssql-ds" lockAcquireSleepInterval="10000" lockKeepAlivePeriod="5000" maxRows="10">
>                                 <databaseLocker>
>                                         <lease-database-locker/>
>                                 </databaseLocker>
>                         </jdbcPersistenceAdapter>
>                 </persistenceAdapter>
>                 <systemUsage>
>                         <systemUsage sendFailIfNoSpaceAfterTimeout="5000">
>                                 <memoryUsage>
>                                         <memoryUsage limit="3700mb"/>
>                                 </memoryUsage>
>                                 <tempUsage>
>                                         <tempUsage limit="2700mb"/>
>                                 </tempUsage>
>                         </systemUsage>
>                 </systemUsage>
>                 <transportConnectors>
>                         <transportConnector name="nio" uri="nio://0.0.0.0:61616?wireFormat.maxInactivityDuration=45000"/>
>                 </transportConnectors>
>         </broker>
>         <bean id="mssql-ds" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
>                 <property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
>                 <property name="jdbcUrl" value="jdbc:sqlserver://10.56.27.166:1433;databaseName=amq_test_performance1;sendStringParametersAsUnicode=false"/>
>                 <property name="user" value="********"/>
>                 <property name="password" value="*********"/>
>                 <property name="minPoolSize" value="5" />
>                 <property name="maxPoolSize" value="-1" />
>                 <property name="acquireIncrement" value="20" />
>                 <property name="acquireRetryAttempts" value="100"/>
>                 <property name="acquireRetryDelay" value="5000"/>
>                 <property name="maxIdleTime" value="3600" />
>                 <property name="numHelperThreads" value="6" />
>         </bean>
>         <import resource="jetty.xml"/>
> </beans>
> {noformat}
> h4. wrapper.conf
> {noformat}
> #********************************************************************
> # Wrapper Properties
> #********************************************************************
> #wrapper.debug=TRUE
> set.default.ACTIVEMQ_HOME=../..
> set.default.ACTIVEMQ_BASE=../..
> set.default.ACTIVEMQ_CONF=%ACTIVEMQ_BASE%/conf
> set.default.ACTIVEMQ_DATA=%ACTIVEMQ_BASE%/data
> wrapper.working.dir=.
> # Java Application
> wrapper.java.command=java
> # Java Main class.  This class must implement the WrapperListener interface
> #  or guarantee that the WrapperManager class is initialized.  Helper
> #  classes are provided to do this for you.  See the Integration section
> #  of the documentation for details.
> wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
> # Java Classpath (include wrapper.jar)  Add class path elements as
> #  needed starting from 1
> wrapper.java.classpath.1=%ACTIVEMQ_HOME%/bin/wrapper.jar
> wrapper.java.classpath.2=%ACTIVEMQ_HOME%/bin/activemq.jar
> # Java Library Path (location of Wrapper.DLL or libwrapper.so)
> wrapper.java.library.path.1=%ACTIVEMQ_HOME%/bin/linux-x86-64/
> # Java Additional Parameters
> # note that n is the parameter number starting from 1.
> wrapper.java.additional.1=-Dactivemq.home=%ACTIVEMQ_HOME%
> wrapper.java.additional.2=-Dactivemq.base=%ACTIVEMQ_BASE%
> wrapper.java.additional.3=-Djavax.net.ssl.keyStorePassword=password
> wrapper.java.additional.4=-Djavax.net.ssl.trustStorePassword=password
> wrapper.java.additional.5=-Djavax.net.ssl.keyStore=%ACTIVEMQ_CONF%/broker.ks
> wrapper.java.additional.6=-Djavax.net.ssl.trustStore=%ACTIVEMQ_CONF%/broker.ts
> wrapper.java.additional.7=-Dcom.sun.management.jmxremote
> wrapper.java.additional.8=-Dorg.apache.activemq.UseDedicatedTaskRunner=false
> wrapper.java.additional.9=-Djava.util.logging.config.file=logging.properties
> wrapper.java.additional.10=-Dactivemq.conf=%ACTIVEMQ_CONF%
> wrapper.java.additional.11=-Dactivemq.data=%ACTIVEMQ_DATA%
> # Uncomment to enable jmx
> wrapper.java.additional.12=-Dcom.sun.management.jmxremote.port=1099
> wrapper.java.additional.13=-Dcom.sun.management.jmxremote.authenticate=false
> wrapper.java.additional.14=-Dcom.sun.management.jmxremote.ssl=false
> wrapper.java.additional.15=-Xms1024m
> wrapper.java.additional.16=-Xmx5800m
> wrapper.java.additional.17=-Xss192k
> wrapper.java.additional.18=-XX:MaxPermSize=128m
> wrapper.java.additional.19=-XX:MaxGCPauseMillis=2000
> wrapper.java.additional.20=-XX:GCTimeRatio=19
> wrapper.java.additional.21=-XX:+HeapDumpOnOutOfMemoryError
> # hawtio configuration
> wrapper.java.additional.22=-Dhawtio.realm=activemq
> wrapper.java.additional.23=-Dhawtio.role=admins
> wrapper.java.additional.24=-Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal
> wrapper.java.additional.25=-Djava.security.auth.login.config=%ACTIVEMQ_CONF%/login.config
> #wrapper.java.additional.22=-Xrunyjpagent=
> #wrapper.java.additional.23=-agentpath:/export/data/centos-activemq-distribution/yourkit/yjp-11.0.10/bin/linux-x86-64/libyjpagent.so
> # Uncomment to enable remote debugging
> #wrapper.java.additional.24=-Xdebug -Xnoagent -Djava.compiler=NONE
> #wrapper.java.additional.25=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
> # Initial Java Heap Size (in MB)
> #wrapper.java.initmemory=2048
> # Maximum Java Heap Size (in MB)
> #wrapper.java.maxmemory=4600
> # Application parameters.  Add parameters as needed starting from 1
> wrapper.app.parameter.1=org.apache.activemq.console.Main
> wrapper.app.parameter.2=start
> #********************************************************************
> # Wrapper Logging Properties
> #********************************************************************
> # Format of output for the console.  (See docs for formats)
> wrapper.console.format=PM
> # Log Level for console output.  (See docs for log levels)
> wrapper.console.loglevel=INFO
> # Log file to use for wrapper output logging.
> wrapper.logfile=%ACTIVEMQ_DATA%/wrapper.log
> # Format of output for the log file.  (See docs for formats)
> wrapper.logfile.format=LPTM
> # Log Level for log file output.  (See docs for log levels)
> wrapper.logfile.loglevel=INFO
> # Maximum size that the log file will be allowed to grow to before
> #  the log is rolled. Size is specified in bytes.  The default value
> #  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
> #  'm' (mb) suffix.  For example: 10m = 10 megabytes.
> wrapper.logfile.maxsize=100m
> # Maximum number of rolled log files which will be allowed before old
> #  files are deleted.  The default value of 0 implies no limit.
> wrapper.logfile.maxfiles=5
> # Log Level for sys/event log output.  (See docs for log levels)
> wrapper.syslog.loglevel=INFO
> #********************************************************************
> # Wrapper Windows Properties
> #********************************************************************
> # Title to use when running as a console
> wrapper.console.title=ActiveMQ
> #********************************************************************
> # Wrapper Windows NT/2000/XP Service Properties
> #********************************************************************
> # WARNING - Do not modify any of these properties when an application
> #  using this configuration file has been installed as a service.
> #  Please uninstall the service before modifying this section.  The
> #  service can then be reinstalled.
> # Name of the service
> wrapper.ntservice.name=ActiveMQ
> # Display name of the service
> wrapper.ntservice.displayname=ActiveMQ
> # Description of the service
> wrapper.ntservice.description=ActiveMQ Broker
> # Service dependencies.  Add dependencies as needed starting from 1
> wrapper.ntservice.dependency.1=
> # Mode in which the service is installed.  AUTO_START or DEMAND_START
> wrapper.ntservice.starttype=AUTO_START
> # Allow the service to interact with the desktop.
> wrapper.ntservice.interactive=false
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message