src/main/resources/META-INF/spring/mq-connectのフォルダ構造を持つOSGIバンドルのjarファイル(connection.jar)が1つあります。接続コード次の.xml はラクダルートを含有MQ-connect.xml別のバンドルのラクダルートでアクセスできない
<beans ...... >
....
....
....
....
<!-- AMQ jms component -->
<bean id="amqtx" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="connectionFactory" ref="amqPooledConnectFactory" />
...
...
...
<property name="maxConcurrentConsumers" value="${concurrent.consumers}" />
</bean>
</beans>
私は別のOSGiバンドル(connection_impl.jar)を有する内に配置されます。私は、camelエンドポイントのコンポーネントとして "amqtx" beanを使用したいと思います。続き は、私は、JBoss--MQ-6.2.1を使用してKarafコンテナに配備しています「amqtx」
<beans ...... >
<import resource="classpath*:mq-connect.xml"/>
...
...
...
...
<camelContext trace="true" streamCache="true" autoStartup="true" xmlns="http://camel.apache.org/schema/spring">
<route customId="true" id="TEST_AMQ">
<description>Test connectivity from another file</description>
<from uri="amqtx:INBOUND.QUEUE" />
<transacted ref="AMQ_PROPAGATION_REQUIRED" />
<to uri="OUTBOUND.QUEUE" />
<log message="Route completed successfully" />
</route>
</camelContext>
</beans>
にアクセスするにはラクダのcontext.xmlに入れたコードです。 OSGiバンドルconnection.jarは正常にデプロイされますが、connection_implはデプロイできません。 A-MQは
Stack Trace:
org.apache.camel.RuntimeCamelException: org.apache.camel.FailedToCreateRouteException: Failed to create route TEST_AMQ:
Route(TEST_AMQ)[[From[amqtx:INBOUND.QUEUE]] -> ... because of Failed to resolve endpoint: amqtx://INBOUND.QUEUE due to: No component found with scheme: amqtx
をログに記録し、それが次のエラーを与える私は別のバンドルではアクセスできませんamqtxまださまざまな方法で一部を試みたが。
connection.jarでamqtxコンポーネントがconnection_impl.jar
私はあなたの提案がかかりますし、あなたが提案方法を実装しようとします –