使用Spring将Apache Camel JMS连接到QueueConnectionFactory
我浏览了各种ApacheCamel Jms连接示例,并试图找出是否可以 将自定义Jms提供程序的使用Spring将Apache Camel JMS连接到QueueConnectionFactory,jms,apache-camel,spring-jms,Jms,Apache Camel,Spring Jms,我浏览了各种ApacheCamel Jms连接示例,并试图找出是否可以 将自定义Jms提供程序的QueueConnectionFactory连接到我的Jms组件 所以我想通过jndi查找队列名称 但是我有自定义的QueueConnectionFactory来创建连接 然后从该调用createQueueSession 我的sudo代码如下: <bean id="customQueueConnectionFactory" class="QueueConnectionFactoryImpl"/&
QueueConnectionFactory
连接到我的Jms组件
所以我想通过jndi查找队列名称
但是我有自定义的QueueConnectionFactory
来创建连接
然后从该调用createQueueSession
我的sudo代码如下:
<bean id="customQueueConnectionFactory" class="QueueConnectionFactoryImpl"/>
<bean id="authenticatedConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="customQueueConnectionFactory"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
</bean>
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="authenticatedConnectionFactory"/>
</bean>
有什么提示吗?我使用的是Spring版本3.2.4和Apache Camel版本2.12.2,Camel jms使用的是Spring jms,所以您只需以Spring的方式进行连接。乍一看,您的spring
记住在Camel中使用“jms”作为组件名称,因为这是您为组件提供的id。看来我的问题与使用spring framework连接QueueuConnectionFactory有关。我添加了异常详细信息。我仍在努力解决这个问题。
QueueConnectionFactoryImpl.createConnection(Ljava/lang/String;Ljava/lang/String;)Ljavax/jms/Connection;
at org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.doCreateConnection(UserCredentialsConnectionFactoryAdapter.java:175)
at org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.createConnection(UserCredentialsConnectionFactoryAdapter.java:150)
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:405)
at org.springframework.jms.listener.AbstractJmsListeningContainer.establishSharedConnection(AbstractJmsListeningContainer.java:373)
at org.springframework.jms.listener.DefaultMessageListenerContainer.establishSharedConnection(DefaultMessageListenerContainer.java:767)
at org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:280)
at org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:265)
at org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:568)
at org.apache.camel.component.jms.JmsConsumer.startListenerContainer(JmsConsumer.java:105)
at org.apache.camel.component.jms.JmsConsumer.prepareAndStartListenerContainer(JmsConsumer.java:171)
at org.apache.camel.component.jms.JmsConsumer.doStart(JmsConsumer.java:155)