JMS соединение с использованием Apache верблюд - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь установить соединение с 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

1 Ответ

0 голосов
/ 30 апреля 2018

jnp - служба именования JNDI, используемая в JBoss ". Я думаю, что тестовый пример может помочь вам в дальнейшем. блок activemq с пружиной JNDI

Относительно

java.lang.IllegalArgumentException: интерфейс javax.jms.QueueConnectionFactory не виден из загрузчика классов

это выглядит как другая проблема.

...