Я использую следующие конфигурации:
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-requester</artifactId>
<version>1.6</version>
<spring:bean id="MQGatewayConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory" name="MQGatewayConnectionFactory" scope="singleton">
<spring:property name="transportType" value="1"></spring:property>
<spring:property name="connectionNameList" value="${mqm.gw.connectionNameList}"></spring:property>
<spring:property name="channel" value="${mqm.gw.channel}"></spring:property>
<spring:property name="queueManager" value="${mqm.gw.name}"></spring:property>
</spring:bean>
<jms:connector
name="WebsphereMQConnector_GW"
doc:name="WebsphereMQConnector_GW"
connectionFactory-ref="MQGatewayConnectionFactory"
username="${mqm.user}"
numberOfConsumers="4"
validateConnections="true"
maxRedelivery="-1"
cacheJmsSessions="false"
disableTemporaryReplyToDestinations="true"
persistentDelivery="true"
specification="1.1">
<reconnect-forever frequency="10000"></reconnect-forever>
</jms:connector>
<mulerequester:request resource="jms://QUEUE.NAME?connector=WebsphereMQConnector_GW" timeout="10000" doc:name="Mule Requester"/>
Это приводит к ошибке ниже:
Endpoint : UnregistrableEndpoint{endpointUri=jms://EIS_P2_CALL_CONTEXT?connector=WebsphereMQConnector_GW, connector=JmsConnector
{
name=WebsphereMQConnector_GW
lifecycle=start
this=299786b1
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[jms]
serviceOverrides=<none>
}
, name='endpoint.jms.QUEUE.NAME', mep=ONE_WAY, properties=
{connector=WebsphereMQConnector_GW}, transactionConfig=Transaction{factory=null, action=INDIFFERENT,
timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000,
endpointEncoding=UTF-8, disableTransportTransformer=false}
Я также попытался предоставить селектор, как указано ниже, но все еще ошибки
&selector=JMSCorrelationID%3D'#[message.outboundProperties.MULE_CORRELATION_ID]
Это ошибка, если я упоминаю разъем или не упоминаю разъем.
Трассировка ошибки при использовании разъема:
Root Exception stack trace:
org.mule.transaction.IllegalTransactionStateException: Only a single resource can be bound to this type of transaction
at org.mule.transaction.AbstractSingleResourceTransaction.bindResource(AbstractSingleResourceTransaction.java:128)
at org.mule.transport.jms.JmsTransaction.bindResource(JmsTransaction.java:54)
at org.mule.transport.jms.JmsConnector.getSession(JmsConnector.java:669)
at org.mule.transport.jms.JmsMessageRequester.doRequest(JmsMessageRequester.java:81)
at org.mule.transport.AbstractMessageRequester.request(AbstractMessageRequester.java:94)
at org.mule.transport.AbstractConnector.request(AbstractConnector.java:2270)
at org.mule.endpoint.DefaultInboundEndpoint.request(DefaultInboundEndpoint.java:80)
at org.mule.client.DefaultLocalMuleClient.requestMessage(DefaultLocalMuleClient.java:215)
at org.mule.client.DefaultLocalMuleClient.request(DefaultLocalMuleClient.java:205)
at org.mule.module.MuleRequesterModule.request(MuleRequesterModule.java:60)
Не могли бы вы предложить почему это вызывает ошибку, хотя я сделал именно то, что определено в документах mule