Я пытаюсь установить соединение с JMS, используя Apache Camel, сервер
использует протокол Jnp. Но я получаю исключения, когда пытаюсь это сделать. Необходимость
помогите, если я что-то упустил или делаю что-то не так. У меня есть JMS API
баночная зависимость в пом.
Технологический стек:
- Предохранитель Jboss 6.3
- Apache Camel (для интеграции)
Чертеж:
<bean class="org.springframework.jndi.JndiTemplate"
id="remoteJndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.provider.url">jnp://x.x.x.x:yyyy</prop>
<prop key="java.naming.factory.url.pkgs">org.jnp.interfaces:org.jboss.naming</prop>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
</props>
</property>
</bean>
<bean class="org.springframework.jndi.JndiObjectFactoryBean"
id="remoteConnectionFactory" init-method="afterPropertiesSet">
<property name="jndiTemplate" ref="remoteJndiTemplate"/>
<property name="jndiName" value="ConnectionFactory"/>
<property name="lookupOnStartup" value="false"/>
<!-- <property name="proxyInterface" value="javax.jms.QueueConnectionFactory"/> -->
<property name="expectedType" value="javax.jms.QueueConnectionFactory"/>
</bean>
<bean factory-method="getObject"
factory-ref="remoteConnectionFactory" id="jmsInConnectionFactory"/>
<bean class="org.apache.camel.component.jms.JmsComponent" id="jmsComponent">
<property name="configuration">
<bean class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="jmsInConnectionFactory"/>
</bean>
</property>
</bean>
Исключение:
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to initialize bean remoteConnectionFactory
Caused by: java.lang.IllegalArgumentException: interface javax.jms.QueueConnectionFactory is not visible from class loader