activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lzr <jsw...@163.com>
Subject Re:Re: Re: ActiveMQ client app hold unexpectedly!!!
Date Tue, 16 Jul 2013 12:18:33 GMT
I just check the configuration file, actually I've disabled the flow control:


        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="false" memoryLimit="100mb">
                  <pendingSubscriberPolicy>
                    <vmCursor />
                  </pendingSubscriberPolicy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="false" memoryLimit="100mb">
                  <!-- Use VM cursor for better latency
                       For more information, see:


                       http://activemq.apache.org/message-cursors.html


                  <pendingQueuePolicy>
                    <vmQueueCursor/>
                  </pendingQueuePolicy>
                  -->
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>










At 2013-07-16 20:15:11,"Christian Posta" <christian.posta@gmail.com> wrote:
>Yes, on the first time PFC kicked in you would see the log messages. Not on
>subsequent times.
>
>
>On Tue, Jul 16, 2013 at 8:01 AM, lzr <jswqne@163.com> wrote:
>
>> Based on my experiences if the issue caused by the producer flow control
>> configuration, the logs will have some warning messages, right? In fact I
>> didn't found any warning or errors in the activemq.log.
>> Anyway, I'll check the configuration files right now.
>>
>>
>> thanks lot,
>> Zhuran.
>>
>>
>> At 2013-07-16 19:36:44,"Christian Posta" <christian.posta@gmail.com>
>> wrote:
>>
>> >This means the client didn't' receive a response from the broker.
>> >Did the broker producer flow control this client? ie, was the destination
>> >to which the client sending full?
>> >
>> >
>> >On Tue, Jul 16, 2013 at 7:23 AM, lzr <jswqne@163.com> wrote:
>> >
>> >> Dear all,
>> >>
>> >>
>> >> I found a one of the ActiveMQ thread got stuck unexpectedly for several
>> >> days. Customer was very angry to the ActiveMQ for the bad behavior. Did
>> >> anybody experienced this issue? It would be much appreciated if any
>> clue!!!
>> >> My application is normal Java JMS application like the following:
>> >> new ActiveMQConnectionFactory.
>> >> create Connection;
>> >> conn.start.
>> >> create session.
>> >> create destination, producer and message
>> >> send messages
>> >> commit;
>> >> conn.close.
>> >>
>> >>
>> >> The follows is the stack when I looked into it with debug tools:
>> >>
>> >> sun.misc.Unsafe.park(Native Method)
>> >>
>> >> java.util.concurrent.locks.LockSupport.park(LockSupport.java:169)
>> >>
>> >>
>> >>
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1787)
>> >>
>> >>
>> java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:356)
>> >>
>> >>
>> >>
>> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
>> >>
>> >>
>> >>
>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:80)
>> >>
>> >>
>> >>
>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1233)
>> >>
>> >>
>> >>
>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1339)
>> >>
>> >>
>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:488)
>> >>
>> >> nc.bs.mqv2.mmgp.mq.UFMQProcessor.getConnection(UFMQProcessor.java:487)
>> >>
>> >> nc.bs.mqv2.mmgp.mq.UFMQProcessor.getConnection(UFMQProcessor.java:462)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.mmgp.mq.UFMQProcessor.sendSerializedObjMsg(UFMQProcessor.java:128)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.meam.mq.sendbasedatas.AbstractMeamBDSyncService.sendBaseData(AbstractMeamBDSyncService.java:64)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.mes.bd.mq.basedoc.AbstractBDServerSendService.dosendDataProcess(AbstractBDServerSendService.java:213)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.mes.bd.mq.basedoc.AbstractBDServerSendService.sendDatas(AbstractBDServerSendService.java:62)
>> >>
>> >>
>> >>
>> nc.impl.mqv2.mes.bd.mq.SyncSendServiceImpl.ncserverSendDatas(SyncSendServiceImpl.java:58)
>> >>
>> >> nc.gejb.meam.cmt.MeamEjbBean.ncserverSendDatas(MeamEjbBean.java:8741)
>> >>
>> >>
>> nc.gejb.meam.cmt.EJSLocalStatelessnc_gejb_meam_cmt_Meam_b44269e7.ncserverSendDatas(Unknown
>> >> Source)
>> >>
>> >> sun.reflect.GeneratedMethodAccessor447.invoke(Unknown Source)
>> >>
>> >>
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>
>> >> java.lang.reflect.Method.invoke(Method.java:615)
>> >>
>> >>
>> >>
>> nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:56)
>> >>
>> >>
>> >>
>> nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:34)
>> >>
>> >> $Proxy58.ncserverSendDatas(Unknown Source)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.meam.mq.task.DoSendBaseDataTaskUtil.runTask(DoSendBaseDataTaskUtil.java:63)
>> >>
>> >>
>> >>
>> nc.bs.mqv2.meam.mq.task.NCServerBaseDatasSendTask.executeTask(NCServerBaseDatasSendTask.java:26)
>> >>
>> >>
>> >>
>> nc.bs.pub.taskcenter.BgBizsPluginProcess.callBusinessPlugin(BgBizsPluginProcess.java:43)
>> >>
>> >> nc.bs.pub.pa.read.TaskBodyBase.callBizsPlugin(TaskBodyBase.java:188)
>> >>
>> >> nc.bs.pub.pa.read.TaskBodyBase.callBusinessPlugin(TaskBodyBase.java:174)
>> >>
>> >> nc.bs.pub.pa.read.TaskBodyBase.createMetaMsg(TaskBodyBase.java:95)
>> >>
>> >>
>> nc.bs.pub.pa.read.TaskBodyBase.createAndSendMessage(TaskBodyBase.java:41)
>> >>
>> >>
>> nc.bs.pub.taskcenter.BackgroundTaskBody.execute(BackgroundTaskBody.java:47)
>> >>
>> >>
>> >>
>> nc.impl.uap.scheduler.ExecutorServiceImpl.executeTask_RequiresNew(ExecutorServiceImpl.java:27)
>> >>
>> >>
>> >>
>> nc.itf.uap.mw.MwBizEJBEjbBean.executeTask_RequiresNew(MwBizEJBEjbBean.java:1682)
>> >>
>> >>
>> nc.itf.uap.mw.EJSLocalStatelessnc_itf_uap_mw_MwBizEJB_f98e92a8.executeTask_RequiresNew(Unknown
>> >> Source)
>> >>
>> >> sun.reflect.GeneratedMethodAccessor1036.invoke(Unknown Source)
>> >>
>> >>
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>
>> >> java.lang.reflect.Method.invoke(Method.java:615)
>> >>
>> >>
>> >>
>> nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:56)
>> >>
>> >>
>> >>
>> nc.bs.framework.ejb.AbstractEJBServiceHandler.invoke(AbstractEJBServiceHandler.java:34)
>> >>
>> >> $Proxy39.executeTask_RequiresNew(Unknown Source)
>> >>
>> >> nc.bs.uap.scheduler.impl.TaskExecutor.executeTask(TaskExecutor.java:110)
>> >>
>> >> nc.bs.uap.scheduler.impl.TaskExecutor.run(TaskExecutor.java:75)
>> >>
>> >> nc.bs.framework.execute.Executor$1.run(Executor.java:80)
>> >>
>> >>
>> nc.bs.framework.execute.commonj.impl.WorkAdaptor.run(WorkAdaptor.java:29)
>> >>
>> >> com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1114)
>> >>
>> >>
>> >>
>> com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:195)
>> >>
>> >> com.ibm.ws.asynchbeans.CJWorkItemImpl.run(CJWorkItemImpl.java:187)
>> >>
>> >> com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
>> >>
>> >>
>> >>
>> >>
>> >> Best regards,
>> >>
>> >> Zhuran Li
>> >
>> >
>> >
>> >
>> >--
>> >*Christian Posta*
>> >http://www.christianposta.com/blog
>> >twitter: @christianposta
>>
>
>
>
>-- 
>*Christian Posta*
>http://www.christianposta.com/blog
>twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message