Hi,

I wonder if anybody out there would like to look at this ServiceMix 1.0 configuration and tell me what I've done wrong.

This configuration is supposed to set up a JMS receiver (listening on queue/Q1) which routes to a JMS sender (sending to queue/Q2). The QueueConnectionFactory is queue/QCF. Another complication is I am using my own vendor JNDI.

Externally, I have already configured Queues and JNDI and I already have working JMS clients to sit at the fringes of this configuration.

I am kind of working from a Spring JMS configuration I found here: http://www-128.ibm.com/developerworks/web/library/wa-spring4/?ca=drs-tp4005 but really the main problem is I am new to Spring so I was always going to come to grief sooner or later.

BTW, is there any Spring logging I can somehow enable that will help understand is going on?

Thanks in advance for any help.
Peter.



Here is my servicemix.xml

---------

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:my="http://servicemix.org/demo/";>

 <!-- the JBI container -->
 <container id="jbi">
   <property name="createMBeanServer" value="true"/>
   <property name="dumpStats" value="true"/>
   <property name="statsInterval" value="10"/>

   <components>
     <!-- 1st. Subscribe to a JMS destination Q1 -->
<component id="inputReceiver" service="my:inputReceiver" class="org.servicemix.components.jms.JmsReceiverComponent" destinationService="my:outputSender">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory" ref="myQueueConnectionFactory"/> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q1"/>
           <property name="pubSubDomain" value="false"/>
         </bean>
       </property>
     </component>
     <!-- 2nd. Publish the result to a JMS destination Q2 -->
<component id="outputSender" service="my:outputSender" class="org.servicemix.components.jms.JmsSenderComponent">
       <property name="template">
         <bean class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory" ref="myQueueConnectionFactory"/> <property name="defaultDestinationName" value="java:comp/env/jms/queue/Q2"/>
           <property name="pubSubDomain" value="false"/>
           <property name="explicitQosEnabled" value="true"/>
           <property name="timeToLive" value="60000"/>
         </bean>
       </property>
</component> </components> <!-- Use our JNDI - The JMS Administered objects are already in here -->
   <bean id="myJndi" class="org.springframework.jndi.JndiTemplate">
       <property name="environment">
         <props>
<prop key="java.naming.factory.initial">com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient</prop>
         </props>
       </property>
   </bean>

   <!-- The QueueConnectionFactory is in the JNDI -->
<bean id="myQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
     <property name="jndiTemplate" ref="myJndi"/>
     <property name="jndiName" value="java:comp/env/jms/queue/QCF"/>
   </bean>

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

 </container>

</beans>

---------

And here are my errors:

Loading ServiceMix from file: servicemix.xml
9/11/2005 14:35:46 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from file [D:\starteam\j2ee14\ESB\proj-prototype\MyExample\jms-binding\servicemix.xml] 9/11/2005 14:35:56 org.springframework.context.support.AbstractRefreshableApplicationContext refreshBeanFactory INFO: Bean factory for application context [org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=8785225]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi]; root of BeanFactory hierarchy 9/11/2005 14:35:56 org.springframework.context.support.AbstractApplicationContext refresh INFO: 1 beans defined in application context [org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=8785225]
9/11/2005 14:35:56 org.springframework.core.CollectionFactory <clinit>
INFO: JDK 1.4+ collections available
9/11/2005 14:35:56 org.springframework.core.CollectionFactory <clinit>
INFO: Commons Collections 3.x available
9/11/2005 14:35:56 org.springframework.context.support.AbstractApplicationContext initMessageSource INFO: Unable to locate MessageSource with name 'messageSource': using default [EMAIL PROTECTED] 9/11/2005 14:35:56 org.springframework.context.support.AbstractApplicationContext initApplicationEventMulticaster INFO: Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [EMAIL PROTECTED] 9/11/2005 14:35:56 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi]; root of BeanFactory hierarchy] 9/11/2005 14:35:56 org.springframework.beans.factory.support.AbstractBeanFactory getBean
INFO: Creating shared instance of singleton bean 'jbi'
9/11/2005 14:36:01 org.springframework.beans.factory.support.AbstractBeanFactory destroySingletons INFO: Destroying singletons in factory {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi]; root of BeanFactory hierarchy} Caught: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.jms.core.JmsTemplate102' defined in file [D:\starteam\j2ee14\ESB\proj-prototype\MyExample\jms-binding\servicemix.xml]: Can't resolve reference to bean 'myQueueConnectionFactory' while setting property 'connectionFactory'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myQueueConnectionFactory' is defined: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans[jbi]; root of BeanFactory hierarchy org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.jms.core.JmsTemplate102' defined in file [D:\starteam\j2ee14\ESB\proj-prototype\MyExample\jms-binding\servicemix.xml]: Can't resolve reference to bean 'myQueueConnectionFactory' while setting property 'connectionFactory'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myQueueConnectionFactory' is defined: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi]; root of BeanFactory hierarchyorg.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myQueueConnectionFactory' is defined: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi]; root of BeanFactory hierarchy at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:351) at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:640) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:920) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:731) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:340) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:920) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:731) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:340) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:920) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:731) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:340) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:147) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:920) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:731) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:340) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:82) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:67) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:58)
       at org.servicemix.Main.main(Main.java:76)

[end]

Reply via email to