过去,我已经能够成功地将Camel连接到在WebSphere [1]中作为JNDI资源公开的Message Queue。这适用于连接工厂。大。
现在,我的情况是sys管理员只提供了激活规范。没有连接工厂。这是我们得到的:
- SIBus名称:________
- 提供商端点:________
- 主题空间:Default.Topic.Space
- 消息引擎名称:________
- 主题名称:________
根据我的阅读,激活规范适用于MDB(消息驱动Bean)。但是Spring有一些用于ActivationSpec的API - 例如DefaultJmsActivationSpecFactory - 所以我很乐观我可以配置Camel / Spring来使用激活规范。我不确定这是否重要,但这是一辆外国公共汽车的SIBus。
我的问题是:
有没有人有幸配置Camel与激活规范进行通信?
另见:
[1]作为参考,这是我们来之不易的Camel配置,它通过JNDI资源(连接工厂)将Camel连接到消息队列。由于我们不得不将此配置与几乎没有文档分开,我希望可以为激活规范进行类似的配置。
<jee:jndi-lookup id="myTargetConnectionFactory" jndi-name="${mq.jndi-name}"/>
<bean id="jmsDestResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver"/>
<bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="myTargetConnectionFactory"/>
<property name="username" value="${mq.username}"/>
<property name="password" value=""/>
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="myConnectionFactory" />
<property name="destinationResolver" ref="jmsDestResolver" />
<property name="concurrentConsumers" value="1" />
<property name="maxConcurrentConsumers" value="10" />
<property name="cacheLevelName" value="CACHE_NONE" />
</bean>