【发布时间】:2017-10-19 11:58:51
【问题描述】:
在我的代理服务中,我尝试使用 JMS-ActiveMQ 创建端点,但它在 uri 中失败。我的 JMS 端点 uri 是否正确?我在 tooling380 上使用 ActiveMQ 和 EI611。
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="CSVProcessor" startOnLoad="true" transports="vfs" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<log level="full"/>
<smooks config-key="smooks-config" description="GetSmooks">
<input type="text"/>
<output type="xml"/>
</smooks>
<log description="GetData" level="full"/>
<datamapper config="gov:datamapper/NewConfig.dmc" description="MapPriceData" inputSchema="gov:datamapper/NewConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/NewConfig_outputSchema.json" outputType="XML"/>
<log description="LogDataMapper" level="full"/>
<property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
<send>
<endpoint>
<address uri="jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue"/>
</endpoint>
</send>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<parameter name="transport.PollInterval">5</parameter>
<parameter name="transport.vfs.FileURI">file://c:\test-data\in</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file://c:\test-data\original</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file://c:\test-data\out</parameter>
</proxy>
错误:
[2017-10-19 17:20:30,944] [] 错误 - ClientUtils 系统无法从 jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial= 推断传输信息org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue URL。 [2017-10-19 17:20:30,948] [] 错误 - Axis2Sender 发送消息期间出现意外错误 org.apache.axis2.AxisFault:系统无法从jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming推断传输信息。 provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue URL。 在 org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81) 在 org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:288) 在 org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:249) 在 org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) 在 org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83) 在 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) 在 org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) 在 org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) 在 org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 在 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 在 org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:213) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 在 org.apache.axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328) 在 org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:824) 在 org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:472) 在 org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:188) 在 org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:134) 在 org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67) 在 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) [2017-10-19 17:20:30,958] [] WARN - EndpointContext 端点:AnonymousEndpoint 地址为 jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi .ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue 将被标记为 SUSPENDED 因为它失败了
【问题讨论】:
-
我在axis2.xml和axis2-client.xml中启用了所有相关配置。还是一样的错误。