activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From omoumen <omou...@micropole-univers.com>
Subject Re: Lock in ActiveMQ and Weblogic
Date Mon, 19 Jan 2009 13:50:12 GMT

The ActiveMQ configuration is like this : 

<beans>

  <bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
  
  <broker brokerName="ParcoursBroker1" 
  				useJmx="true" 
  				xmlns="http://activemq.org/config/1.0" 
  				persistent="true" 
  				useShutdownHook="true" 
  				deleteAllMessagesOnStartup="false">
  
 
    <persistenceAdapter>
      <jdbcPersistenceAdapter dataSource="#derby-ds"/>
    </persistenceAdapter>
     
    <transportConnectors>
       	<transportConnector name="openwire" uri="tcp://localhost:61616"/>
    </transportConnectors>
    
    <networkConnectors>
      <networkConnector name="primETsec"
uri="static://(tcp://localhost:61616,tcp://localhost:61616)" />

    </networkConnectors>
    

   <destinations>
      <queue physicalName="DUDE.QUEUE"/>
    </destinations>

  </broker>
  
  <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
    <property name="databaseName" value="derbydb"/>
    <property name="createDatabase" value="create"/>
  </bean>  

</beans>


omoumen wrote:
> 
> Yes, we use JmsTemplate102 version 1.3 of Spring
> 
> 
> James.Strachan wrote:
>> 
>> Are you using any kind of pooling with Spring?
>> 
>> http://activemq.apache.org/jmstemplate-gotchas.html
>> 
>> 2009/1/19 omoumen <omoumen@micropole-univers.com>:
>>>
>>> Our application uses ActiveMQ 4.1.0 for the management of asynchronous
>>> web
>>> services, for that we have set up a producer and a consumer. The
>>> producer
>>> send the message to the queue of ActiveMQ and the consumer send the
>>> messages
>>> in the queue to their destinations.
>>> Our problem is in the producer, at the time of the sending to the queue
>>> we
>>> have the following thread dump:
>>>
>>> ####<15 janv. 2009 11 h 27 CET> <Error> <WebLogicServer> <wn342>
>>> <P3Local>
>>> <[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default
>>> (self-tuning)'> <<WLS Kernel>> <> <> <1232015262880>
<BEA-000337>
>>> <[STUCK]
>>> ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'
>>> has
>>> been busy for "643" seconds working on the request "Http Request:
>>> /P3NoyauDur/valideEntretien.do", which is more than the configured time
>>> (StuckThreadMaxTime) of "600" seconds. Stack trace:
>>> Thread-76 "[STUCK] ExecuteThread: '7' for queue:
>>> 'weblogic.kernel.Default
>>> (self-tuning)'" <alive, in native, suspended, waiting, priority=1,
>>> DAEMON> {
>>>    -- Waiting for notification on:
>>> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar@47a4fff[fat
>>> lock]
>>>    java.lang.Object.wait(Object.java:474)
>>>
>>> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:66)
>>>
>>> edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:313)
>>>
>>> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42)
>>>
>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>
>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1166)
>>>
>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1252)
>>>    ^-- Holding lock: org.apache.activemq.ActiveMQConnection@47a500f[thin
>>> lock]
>>>
>>> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:273)
>>>
>>> org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1121)
>>>
>>> org.springframework.jms.core.JmsTemplate102.createSession(JmsTemplate102.java:177)
>>>   
>>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:409)
>>>    org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:474)
>>>    org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:464)
>>>    parcours.dude.jmsactivemq102.Producteur.send(Producteur.java:39)
>>>    parcours.dude.AppelDude.sendToJms(AppelDude.java:87)
>>>    parcours.dude.AppelDude.call(AppelDude.java:149)
>>>
>>> parcours.dossier.entretien.ReglesFluxEntretienMAJActionsOffres.envoieFluxActionEntretien(ReglesFluxEntretienMAJActionsOffres.java:188)
>>>
>>> parcours.dossier.entretien.ReglesFluxEntretienMAJActionsOffres.envoieFlux(ReglesFluxEntretienMAJActionsOffres.java:68)
>>>
>>> parcours.dossier.entretien.EnregistreEntretienAction.executeAction(EnregistreEntretienAction.java:105)
>>>   
>>> parcours.struts.action.ParcoursAction.perform(ParcoursAction.java:283)
>>>
>>> org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1676)
>>>
>>> parcours.struts.action.ParcoursActionServlet.processActionPerform(ParcoursActionServlet.java:359)
>>>   
>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1410)
>>>
>>> parcours.struts.action.ParcoursActionServlet.service(ParcoursActionServlet.java:204)
>>>    javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
>>>
>>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>>
>>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:107)
>>>
>>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:198)
>>>
>>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
>>>
>>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3365)
>>>
>>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
>>>    weblogic.security.service.SecurityManager.runAs(Unknown Source)
>>>
>>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2076)
>>>
>>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1998)
>>>
>>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1331)
>>>    weblogic.work.ExecuteThread.execute(ExecuteThread.java:197)
>>>    weblogic.work.ExecuteThread.run(ExecuteThread.java:164)
>>> }
>>>
>>>>
>>> ####<15 janv. 2009 11 h 28 CET> <Error> <WebLogicServer> <wn342>
>>> <P3Local>
>>> <[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default
>>> (self-tuning)'> <<WLS Kernel>> <> <> <1232015322895>
<BEA-000337>
>>> <[STUCK]
>>> ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'
>>> has
>>> been busy for "703" seconds working on the request "Http Request:
>>> /P3NoyauDur/valideEntretien.do", which is more than the configured time
>>> (StuckThreadMaxTime) of "600" seconds. Stack trace:
>>> Thread-76 "[STUCK] ExecuteThread: '7' for queue:
>>> 'weblogic.kernel.Default
>>> (self-tuning)'" <alive, in native, suspended, waiting, priority=1,
>>> DAEMON> {
>>>    -- Waiting for notification on:
>>> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar@47a4fff[fat
>>> lock]
>>>    java.lang.Object.wait(Object.java:474)
>>>
>>> edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:66)
>>>
>>> edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:313)
>>>
>>> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42)
>>>
>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>
>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1166)
>>>
>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1252)
>>>    ^-- Holding lock: org.apache.activemq.ActiveMQConnection@47a500f[thin
>>> lock]
>>>
>>> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:273)
>>>
>>> org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1121)
>>>
>>> org.springframework.jms.core.JmsTemplate102.createSession(JmsTemplate102.java:177)
>>>   
>>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:409)
>>>    org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:474)
>>>    org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:464)
>>>    parcours.dude.jmsactivemq102.Producteur.send(Producteur.java:39)
>>>    parcours.dude.AppelDude.sendToJms(AppelDude.java:87)
>>>    parcours.dude.AppelDude.call(AppelDude.java:149)
>>>
>>> parcours.dossier.entretien.ReglesFluxEntretienMAJActionsOffres.envoieFluxActionEntretien(ReglesFluxEntretienMAJActionsOffres.java:188)
>>>
>>> parcours.dossier.entretien.ReglesFluxEntretienMAJActionsOffres.envoieFlux(ReglesFluxEntretienMAJActionsOffres.java:68)
>>>
>>> parcours.dossier.entretien.EnregistreEntretienAction.executeAction(EnregistreEntretienAction.java:105)
>>>   
>>> parcours.struts.action.ParcoursAction.perform(ParcoursAction.java:283)
>>>
>>> org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1676)
>>>
>>> parcours.struts.action.ParcoursActionServlet.processActionPerform(ParcoursActionServlet.java:359)
>>>   
>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1410)
>>>
>>> parcours.struts.action.ParcoursActionServlet.service(ParcoursActionServlet.java:204)
>>>    javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
>>>
>>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
>>>
>>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:107)
>>>
>>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:198)
>>>
>>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
>>>
>>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3365)
>>>
>>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
>>>    weblogic.security.service.SecurityManager.runAs(Unknown Source)
>>>
>>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2076)
>>>
>>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1998)
>>>
>>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1331)
>>>    weblogic.work.ExecuteThread.execute(ExecuteThread.java:197)
>>>    weblogic.work.ExecuteThread.run(ExecuteThread.java:164)
>>> }
>>>
>>> Could help us to solve this problem, very by knowing that this problem
>>> n' is
>>> not systematic.
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Lock-in-ActiveMQ-and-Weblogic-tp21542855p21542855.html
>>> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> James
>> -------
>> http://macstrac.blogspot.com/
>> 
>> Open Source Integration
>> http://fusesource.com/
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Lock-in-ActiveMQ-and-Weblogic-tp21542855p21543357.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Mime
View raw message