You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Ging Ming Chan (JIRA)" <ji...@apache.org> on 2006/09/07 04:32:23 UTC

[jira] Created: (SM-566) JmsReceiverComponent trying to receive message before its JBI properties have been fully initialised

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


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

        

Re: [jira] Created: (SM-566) JmsReceiverComponent trying to receive message before its JBI properties have been fully initialised

Posted by Peter Smith <pe...@fast.fujitsu.com.au>.
Looks like same as SM-240 I reported last yr.

Peter.

Ging Ming Chan (JIRA) wrote:
> 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
>
>
> 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 is an email from Fujitsu Australia Software Technology Pty Ltd, ABN 27 003 693 481. It is confidential to the ordinary user of the email address to which it was addressed and may contain copyright and/or legally privileged information. No one else may read, print, store, copy or forward all or any of it or its attachments. If you receive this email in error, please return to sender. Thank you.

If you do not wish to receive commercial email messages from Fujitsu Australia Software Technology Pty Ltd, please email unsubscribe@fast.fujitsu.com.au


[jira] Resolved: (SM-566) JmsReceiverComponent trying to receive message before its JBI properties have been fully initialised

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ 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