Results 1 to 2 of 2

Thread: How to clear MQ channel with lingo

  1. #1
    Join Date
    May 2006
    Posts
    9

    Question How to clear MQ channel with lingo

    Hello,

    I am making asynchronous calls via Lingo using lingo-1.0-SNAPSHOT.jar in the application run on Tomcat.

    <bean id="stagingManagerServer"
    class="org.logicblaze.lingo.jms.JmsServiceExporter ">
    <property name="service">
    <ref bean="stagingManagerService" />
    </property>
    <property name="serviceInterface"
    value="org.tiaa.scm.tool.service.IStagingManager" />
    <property name="connectionFactory">
    <ref bean="jmsQueueConnectionFactory" />
    </property>
    <property name="destination">
    <ref bean="jmsDestination"/>
    </property>
    </bean>

    <bean id="stagingManagerClient"
    class="org.logicblaze.lingo.jms.JmsProxyFactoryBea n">
    <property name="serviceInterface"
    value="org.tiaa.scm.tool.service.IStagingManager" />
    <property name="connectionFactory">
    <ref bean="jmsQueueConnectionFactory" />
    </property>
    <property name="destination">
    <ref bean="jmsDestination"/>
    </property>
    <property name="remoteInvocationFactory" ref="invocationFactory" />
    </bean>

    <bean id="invocationFactory"
    class="org.logicblaze.lingo.LingoRemoteInvocationF actory">
    <constructor-arg>
    <bean class="org.logicblaze.lingo.SimpleMetadataStrategy ">
    <property name="oneWayForVoidMethods" value="true" />
    </bean>
    </constructor-arg>
    </bean>

    My problem is that lingo does not appear to be clearing MQ channel after asynchronous call is made. Therefore after some time I have too many channels open and asynchronous calls fail.

    How do I setup my asynchronous calls so that the channel would automatically clear after each call?

    Also, when the container is bounced lingo does not always close open MQ queue and does not delete temporary queue (see exceptions attached).

    Any clues would be greatly appreciated.

    Thanks,
    Mark
    ================================================== =====

    ERROR - Destroy method on bean with name stagingManagerServer threw an exception
    javax.jms.JMSException: MQJMS2000: failed to close MQ queue
    at com.ibm.mq.jms.services.ConfigEnvironment.newExcep tion(ConfigEnvironment.java:567)
    at com.ibm.mq.jms.MQMessageConsumer.closeQ(MQMessageC onsumer.java:1265)
    at com.ibm.mq.jms.MQQueueReceiver.close(MQQueueReceiv er.java:137)
    at org.logicblaze.lingo.jms.JmsServiceExporter.destro y(JmsServiceExporter.java:75)
    at org.springframework.beans.factory.support.Abstract BeanFactory$1.destroy(AbstractBeanFactory.java:924 )
    at org.springframework.beans.factory.support.Abstract BeanFactory.destroyBean(AbstractBeanFactory.java:1 020)
    at org.springframework.beans.factory.support.Abstract BeanFactory.destroyDisposableBean(AbstractBeanFact ory.java:992)
    at org.springframework.beans.factory.support.Abstract BeanFactory.destroyBean(AbstractBeanFactory.java:1 014)
    at org.springframework.beans.factory.support.Abstract BeanFactory.destroyDisposableBean(AbstractBeanFact ory.java:992)
    at org.springframework.beans.factory.support.Abstract BeanFactory.destroySingletons(AbstractBeanFactory. java:561)
    at org.springframework.context.support.AbstractApplic ationContext.close(AbstractApplicationContext.java :512)
    at org.springframework.web.struts.ContextLoaderPlugIn .destroy(ContextLoaderPlugIn.java:390)
    at org.apache.struts.action.ActionServlet.destroyModu les(ActionServlet.java:499)
    at org.apache.struts.action.ActionServlet.destroy(Act ionServlet.java:286)
    at org.apache.catalina.core.StandardWrapper.unload(St andardWrapper.java:1331)
    at org.apache.catalina.core.StandardWrapper.stop(Stan dardWrapper.java:1666)
    at org.apache.catalina.core.ContainerBase.removeChild (ContainerBase.java:892)
    at org.apache.catalina.core.StandardContext.removeChi ld(StandardContext.java:3095)
    at org.apache.catalina.startup.ContextConfig.stop(Con textConfig.java:1082)
    at org.apache.catalina.startup.ContextConfig.lifecycl eEvent(ContextConfig.java:276)
    at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.StandardContext.stop(Stan dardContext.java:4355)
    at org.apache.catalina.manager.ManagerServlet.stop(Ma nagerServlet.java:1226)
    at org.apache.catalina.manager.HTMLManagerServlet.sto p(HTMLManagerServlet.java:545)
    at org.apache.catalina.manager.HTMLManagerServlet.doG et(HTMLManagerServlet.java:106)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
    at org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:524)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    2006.09.25 11:39:42 MQJMS1023E rollback failed
    ERROR - Destroy method on bean with name stagingManagerClient threw an exception
    javax.jms.JMSException: MQJMS3004: failed to delete temporary queue
    at com.ibm.mq.jms.services.ConfigEnvironment.newExcep tion(ConfigEnvironment.java:567)
    at com.ibm.mq.jms.MQTemporaryQueue.delete(MQTemporary Queue.java:196)
    at org.logicblaze.lingo.jms.impl.SingleThreadedReques tor.close(SingleThreadedRequestor.java:83)
    at org.logicblaze.lingo.jms.JmsClientInterceptor.dest roy(JmsClientInterceptor.java:127)
    .................................................. .....................
    INFO - Closing Spring root WebApplicationContex

  2. #2
    Join Date
    Aug 2004
    Location
    London
    Posts
    164

    Default

    I answered this on the Lingo discussion forum...

    http://www.nabble.com/How-to-clear-M...tf2334221.html
    James Strachan
    ------------------
    Open Source Integration
    Iona

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •