2

Spring 構成で JMS コンポーネントを学習するための適切で明確な例は見つかりませんでした。だから私はこのようなものを書きました:

<bean id="weblogic" class="org.apache.camel.component.jms.JmsComponent">
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>

<bean id="jmsJndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
            <prop key="java.naming.provider.url">t3://${ip}:${port}</prop>
        </props>
    </property>
</bean>
<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jmsJndiTemplate"/>
    <property name="jndiName" value="jms/cdrPreMO-connfact-jndi"/>
</bean>

<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring">

    <camel:endpoint id="jmsQueue" uri="weblogic:queue:jms/cdrPreMO-queue-jndi"/>

    <route>
        <from ref="jmsQueue"/>
        <bean ref="test" method="writeFile"/>
        <to uri="log:errors?level=ERROR"/>
    </route>
</camelContext>

しかし、それは例外を与えます:

Caused by: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.jms.backend.jms'. Resolved 'weblogic.jms.backend'; remaining name 'jms'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)
    at weblogic.jms.frontend.FEManager.destinationCreate(FEManager.java:287)
    ... 8 more

JMS Conf は true (IP ポートと JNDI 名) です。接続とセッションを取得していますが、例外が発生します誰かが私の間違いを教えてもらえますか?

ありがとう

EDIT:Clausのコメントに従って修正が適用されました。

4

4 に答える 4