Version Service: 2.0.2
Tibco EMS: 4.2

I am trying to use Tibco EMS with the JMS Component.
JavaClient  --> messages --> inputQueue -->ServiceMix retreives it and outputs to and Output Queue. During startup I am getting the following exception but after that everything works fine. Messages are being reterived and published to the output queue. I have attached the servicemix.xml I am using.

Could please let me know if my configuration has any errors.

thank you
Sairam

//////////// *********** EXCEPTION************* /////////////////////////

**Exception in MessageListener**:

org.servicemix.jbi.RuntimeJBIException: org.servicemix.jbi.NotInitialisedYetException: Cannot perform operations on

 this component until it has been initialised via init()

        at org.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:74)

        at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:2843)

        at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1428)

        at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:2506)

Caused by: org.servicemix.jbi.NotInitialisedYetException: Cannot perform operations on this component until it has

been initialised via init()

        at org.servicemix.components.util.PojoSupport.getDeliveryChannel(PojoSupport.java:185)

        at org.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:59)

        ... 3 more

**Exception in MessageListener**:

org.servicemix.jbi.RuntimeJBIException: org.servicemix.jbi.NotInitialisedYetException: Cannot perform operations on

 this component until it has been initialised via init()

        at org.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:74)

        at com.tibco.tibjms.TibjmsSession._submit(TibjmsSession.java:2843)

        at com.tibco.tibjms.TibjmsSession._dispatchAsyncMessage(TibjmsSession.java:1428)

        at com.tibco.tibjms.TibjmsSession$Dispatcher.run(TibjmsSession.java:2506)

Caused by: org.servicemix.jbi.NotInitialisedYetException: Cannot perform operations on this component until it has

been initialised via init()

        at org.servicemix.components.util.PojoSupport.getDeliveryChannel(PojoSupport.java:185)

        at org.servicemix.components.jms.JmsInBinding.onMessage(JmsInBinding.java:59)

        ... 3 more


///////////// *********** SERVICEMIX.XML ************* ///////////////////////

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
        xmlns:spring="http://xbean.org/schemas/spring/1.0"
        xmlns:sm="http://servicemix.org/config/1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xbean.org/schemas/spring/1.0 ../../conf/spring-beans.xsd
                            http://servicemix.org/config/1.0 ../../conf/servicemix.xsd"
        xmlns:my="http://servicemix.org/demo/">

  <!-- the JBI container -->
  <sm:container spring:id="jbi"
                  useMBeanServer="true"
                  createMBeanServer="true"
                  dumpStats="true"
                  statsInterval="10"
                  transactionManager="#transactionManager">

          <sm:activationSpecs>

       <sm:activationSpec componentName="inputReceiver" service="my:inputReceiver" destinationService="my:outputSender">
          <sm:component>
          <bean xmlns="http://xbean.org/schemas/spring/1.0" class="org.servicemix.components.jms.JmsReceiverComponent">
        <property name="template">
          <bean class="org.springframework.jms.core.JmsTemplate">
             <property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property>
            <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property>
            <property name="defaultDestinationName" value="servicemix.queue.input"/>
            <property name="pubSubDomain" value="false"/>
          </bean>
        </property>
          </bean>
          </sm:component>
          </sm:activationSpec>



       <sm:activationSpec componentName="outputSender" service="my:outputSender">
          <sm:component>
          <bean xmlns="http://xbean.org/schemas/spring/1.0" class="org.servicemix.components.jms.JmsSenderComponent">
        <property name="template">
          <bean class="org.springframework.jms.core.JmsTemplate">
             <property name="connectionFactory"><ref bean="myQueueConnectionFactory"/></property>
            <property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property>
            <property name="defaultDestinationName" value="servicemix.queue.output"/>
            <property name="pubSubDomain" value="false"/>
          </bean>
        </property>
          </bean>
          </sm:component>
          </sm:activationSpec>

          </sm:activationSpecs>

   </sm:container>


  <!-- Use my own JNDI - The JMS objects are already binded in here -->
  <bean id="myJndi" class="org.springframework.jndi.JndiTemplate">
      <property name="environment">
        <props>
          <prop key="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</prop>
         <prop key="java.naming.provider.url">tibjmsnaming://localhost:7222</prop>
        </props>
      </property>
  </bean>

  <!-- The QueueConnectionFactory is in my JNDI -->
  <bean id="myQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="myJndi"/>
    <property name="jndiName" value="QueueConnectionFactory"/>
  </bean>
 
  <!-- The JMS Destinations are resolved by looking them up in my JNDI -->
  <bean id="myJmsDestinationResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver">
    <property name="jndiTemplate" ref="myJndi"/>
  </bean>

  <!-- Needed for SpringJBIContainer? -->    
  <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/>
 
</beans>

Sent from the servicemix - user forum at Nabble.com:
Exception in MessageListener

Reply via email to