[
https://issues.apache.org/jira/browse/AMQ-5133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13984373#comment-13984373
]
Timothy Bish commented on AMQ-5133:
-----------------------------------
Without some way to reproduce this it's going to be hard to offer any solutions.
> 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: 0 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 copied 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 had four active consumers.
> The queue had several thousand persistent 350KB messages. The consumers
> were using selectors and all the messages on the queue matched the consumers'
> selectors. The consumers were Apache.NMS clients. I noticed the unexpected
> CPU usage after the purge completed, but I can't be sure it was triggered by
> the purge. I'm running performance tests and part of my normal test
> initialization requires purging the queue. As such, the purge is repeated
> many times a day and hasn't been an issue. After I noticed the CPU usage
> increase, I shut down all producers and consumers but the CPU usage increase
> persisted. I'm using JConsole to monitor the JVM and monitor/manage the
> broker.
>
> 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 [email protected]: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)