org.mule.umo.lifecycle.LifecycleException: Initialisation Failure: The Consumer is closed

Mirth Project | Bryce Prescott | 4 years ago
  1. 0

    Channels that use a JMS Reader connector or JMS Writer connector must be redeployed (or stopped then started) after the ActiveMQ broker it is connected to restarts. The problem is this: When ActiveMQ is restarted (or in my case, software that uses an embedded broker) any channel that is connected to that broker will throw this error: 2012-08-02 07:37:00,343] ERROR (com.mirth.connect.connectors.jms.JmsMessageReceiver:409): Initialisation Failure: The Consumer is closed org.mule.umo.lifecycle.LifecycleException: Initialisation Failure: The Consumer is closed at com.mirth.connect.connectors.jms.JmsMessageReceiver.doStop(JmsMessageReceiver.java:126) at org.mule.providers.AbstractMessageReceiver.stop(AbstractMessageReceiver.java:407) at org.mule.providers.AbstractMessageReceiver.dispose(AbstractMessageReceiver.java:306) at org.mule.providers.AbstractConnector.destroyReceiver(AbstractConnector.java:588) at org.mule.providers.AbstractConnector.unregisterListener(AbstractConnector.java:548) at org.mule.impl.model.AbstractModel.unregisterListeners(AbstractModel.java:280) at org.mule.impl.model.AbstractModel.stopComponent(AbstractModel.java:478) at org.mule.management.mbeans.ModelService.stopComponent(ModelService.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1390) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679)Caused by: javax.jms.IllegalStateException: The Consumer is closed at org.apache.activemq.ActiveMQMessageConsumer.checkClosed(ActiveMQMessageConsumer.java:811) at org.apache.activemq.ActiveMQMessageConsumer.setMessageListener(ActiveMQMessageConsumer.java:415) at com.mirth.connect.connectors.jms.JmsMessageReceiver.doStop(JmsMessageReceiver.java:123) ... 37 more This error appears in the Mirth Connect log but it does not show an error state directly on the channel nor does it send an alert. The channel never attempts to reconnect and will only resume processing messages if redeployed (or stopped and started). How to reproduce this error: 1. Setup ActiveMQ (or create an embedded ActiveMQ broker) 2. Create a channel with a JMS Reader connector and/or JMS Writer connector 3. Start ActiveMQ 4. Deploy channel 5. Stop ActiveMQ 6 (Optional). Queue message on ActiveMQ 7 (Optional). Start ActiveMQ (at this moment, the messages will be consumed). Recommendations: The LLP connectors are a great example of how this should work. The connections should be automatically reestablished ever x seconds. Any unsent messages on a JMS writer should be queued up as in the LLP Sender connector. The JMS Reader should simply retry to connect. This issue is similar to, but not exactly the same, as http://www.mirthcorp.com/community/issues/browse/MIRTH-1083

    Mirth Project | 4 years ago | Bryce Prescott
    org.mule.umo.lifecycle.LifecycleException: Initialisation Failure: The Consumer is closed
  2. 0

    Channels that use a JMS Reader connector or JMS Writer connector must be redeployed (or stopped then started) after the ActiveMQ broker it is connected to restarts. The problem is this: When ActiveMQ is restarted (or in my case, software that uses an embedded broker) any channel that is connected to that broker will throw this error: 2012-08-02 07:37:00,343] ERROR (com.mirth.connect.connectors.jms.JmsMessageReceiver:409): Initialisation Failure: The Consumer is closed org.mule.umo.lifecycle.LifecycleException: Initialisation Failure: The Consumer is closed at com.mirth.connect.connectors.jms.JmsMessageReceiver.doStop(JmsMessageReceiver.java:126) at org.mule.providers.AbstractMessageReceiver.stop(AbstractMessageReceiver.java:407) at org.mule.providers.AbstractMessageReceiver.dispose(AbstractMessageReceiver.java:306) at org.mule.providers.AbstractConnector.destroyReceiver(AbstractConnector.java:588) at org.mule.providers.AbstractConnector.unregisterListener(AbstractConnector.java:548) at org.mule.impl.model.AbstractModel.unregisterListeners(AbstractModel.java:280) at org.mule.impl.model.AbstractModel.stopComponent(AbstractModel.java:478) at org.mule.management.mbeans.ModelService.stopComponent(ModelService.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1390) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679)Caused by: javax.jms.IllegalStateException: The Consumer is closed at org.apache.activemq.ActiveMQMessageConsumer.checkClosed(ActiveMQMessageConsumer.java:811) at org.apache.activemq.ActiveMQMessageConsumer.setMessageListener(ActiveMQMessageConsumer.java:415) at com.mirth.connect.connectors.jms.JmsMessageReceiver.doStop(JmsMessageReceiver.java:123) ... 37 more This error appears in the Mirth Connect log but it does not show an error state directly on the channel nor does it send an alert. The channel never attempts to reconnect and will only resume processing messages if redeployed (or stopped and started). How to reproduce this error: 1. Setup ActiveMQ (or create an embedded ActiveMQ broker) 2. Create a channel with a JMS Reader connector and/or JMS Writer connector 3. Start ActiveMQ 4. Deploy channel 5. Stop ActiveMQ 6 (Optional). Queue message on ActiveMQ 7 (Optional). Start ActiveMQ (at this moment, the messages will be consumed). Recommendations: The LLP connectors are a great example of how this should work. The connections should be automatically reestablished ever x seconds. Any unsent messages on a JMS writer should be queued up as in the LLP Sender connector. The JMS Reader should simply retry to connect. This issue is similar to, but not exactly the same, as http://www.mirthcorp.com/community/issues/browse/MIRTH-1083

    Mirth Project | 4 years ago | Bryce Prescott
    javax.jms.IllegalStateException: The Consumer is closed
  3. 0

    GitHub comment 738#239153841

    GitHub | 4 months ago | m0ru
    javax.jms.IllegalStateException: The Consumer is closed
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Web Service with ActiveMQ

    Coderanch | 2 years ago | Alissa Horner
    javax.jms.IllegalStateException: The Consumer is closed
  6. 0

    603422 [AcitveMQ Connection Worker: tcp://localhost/127.0.0.1:61616] ERROR JMS Connection Service - exception occurred in JMS connection; restarting javax.jms.JMSException: Channel was inactive for too long. at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1638) at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1655) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:98) at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:116) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:98) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:98) at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:143) at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:155) at org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:100) at org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:50) at org.apache.activemq.thread.Scheduler$SchedulerTimerTask.run(Scheduler.java:36) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long. ... 5 more

    Apache's JIRA Issue Tracker | 9 years ago | Kevin W Edwards
    javax.jms.IllegalStateException: The Consumer is closed

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. javax.jms.IllegalStateException

      The Consumer is closed

      at org.apache.activemq.ActiveMQMessageConsumer.checkClosed()
    2. ActiveMQ :: Core
      ActiveMQMessageConsumer.setMessageListener
      1. org.apache.activemq.ActiveMQMessageConsumer.checkClosed(ActiveMQMessageConsumer.java:811)
      2. org.apache.activemq.ActiveMQMessageConsumer.setMessageListener(ActiveMQMessageConsumer.java:415)
      2 frames
    3. com.mirth.connect
      JmsMessageReceiver.doStop
      1. com.mirth.connect.connectors.jms.JmsMessageReceiver.doStop(JmsMessageReceiver.java:123)
      1 frame
    4. org.mule.providers
      AbstractConnector.unregisterListener
      1. org.mule.providers.AbstractMessageReceiver.stop(AbstractMessageReceiver.java:407)
      2. org.mule.providers.AbstractMessageReceiver.dispose(AbstractMessageReceiver.java:306)
      3. org.mule.providers.AbstractConnector.destroyReceiver(AbstractConnector.java:588)
      4. org.mule.providers.AbstractConnector.unregisterListener(AbstractConnector.java:548)
      4 frames
    5. org.mule.impl
      AbstractModel.stopComponent
      1. org.mule.impl.model.AbstractModel.unregisterListeners(AbstractModel.java:280)
      2. org.mule.impl.model.AbstractModel.stopComponent(AbstractModel.java:478)
      2 frames
    6. org.mule.management
      ModelService.stopComponent
      1. org.mule.management.mbeans.ModelService.stopComponent(ModelService.java:55)
      1 frame
    7. Java RT
      Thread.run
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:616)
      5. com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111)
      6. com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45)
      7. com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226)
      8. com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
      9. com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251)
      10. com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857)
      11. com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795)
      12. javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450)
      13. javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90)
      14. javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285)
      15. java.security.AccessController.doPrivileged(Native Method)
      16. javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1390)
      17. javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807)
      18. sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
      19. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      20. java.lang.reflect.Method.invoke(Method.java:616)
      21. sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
      22. sun.rmi.transport.Transport$1.run(Transport.java:177)
      23. java.security.AccessController.doPrivileged(Native Method)
      24. sun.rmi.transport.Transport.serviceCall(Transport.java:173)
      25. sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
      26. sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
      27. sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
      28. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      29. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      30. java.lang.Thread.run(Thread.java:679)
      30 frames