使用Spring将Apache Camel JMS连接到QueueConnectionFactory

使用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"/&

我浏览了各种ApacheCamel Jms连接示例,并试图找出是否可以 将自定义Jms提供程序的
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)