[ https://issues.apache.org/activemq/browse/SM-566?page=all ]
Guillaume Nodet resolved SM-566. -------------------------------- Fix Version/s: 3.0-M3 Resolution: Fixed Assignee: Guillaume Nodet Author: gnodet Date: Thu Sep 7 04:51:33 2006 New Revision: 441058 URL: http://svn.apache.org/viewvc?view=rev&rev=441058 Log: SM-566: JmsReceiverComponent trying to receive message before its JBI properties have been fully initialised Modified: incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsInUsingJCABinding.java incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsReceiverComponent.java incubator/servicemix/trunk/servicemix-components/src/main/java/org/apache/servicemix/components/jms/JmsServiceComponent.java > JmsReceiverComponent trying to receive message before its JBI properties have > been fully initialised > ---------------------------------------------------------------------------------------------------- > > Key: SM-566 > URL: https://issues.apache.org/activemq/browse/SM-566 > Project: ServiceMix > Issue Type: Bug > Components: servicemix-components > Affects Versions: 3.0-M2 > Environment: Java 1.5.0_06 > SwiftMQ > Reporter: Ging Ming Chan > Assigned To: Guillaume Nodet > Fix For: 3.0-M3 > > > When ServiceMix with the JmsReceiverComponent configured is started and there > is already JMS messages waiting in the queue, it will throw the following > exception: > ERROR! MessageListener throws RuntimeException, shutting down consumer! > org.apache.servicemix.jbi.RuntimeJBIException: > org.apache.servicemix.jbi.NotInitialisedYetException: Cannot perform > operations on this component until it has been initialised via init() > at > org.apache.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:74) > at > com.swiftmq.jms.v510.MessageConsumerImpl.invokeMessageListener(Unknown Source) > at com.swiftmq.jms.v510.MessageConsumerImpl.invokeConsumer(Unknown > Source) > at > com.swiftmq.jms.v510.SessionImpl$SessionDeliveryQueue.process(Unknown Source) > at com.swiftmq.tools.queue.SingleProcessorQueue.dequeue(Unknown Source) > at com.swiftmq.jms.v510.SessionImpl$SessionTask.run(Unknown Source) > at com.swiftmq.client.thread.PoolExecutor.run(Unknown Source) > Caused by: org.apache.servicemix.jbi.NotInitialisedYetException: Cannot > perform operations on this component until it has been initialised via init() > at > org.apache.servicemix.components.util.PojoSupport.getDeliveryChannel(PojoSupport.java:193) > at > org.apache.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:59) > ... 6 more > The cause of the error was traced to the codes in the JmsReceiverComponent > .afterPropertiesSet() that open the connection and receive JMS messages > before the JBI properties of the component have been set. A possible > solution is to override the ComponentLifeCycle.init(ComponentContext cc) > method to include the related codes in the JmsReceiverComponent > .afterPropertiesSet() method. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira