JPOS QMUX队列请求未发送至服务器问题求助
QMUX 请求异常问题
发送100个请求时,仅前5个能到达服务器并在100ms内获取响应;按预期,收到响应后QMUX应自动发送剩余请求,但实际未执行,导致剩余95个请求调用mux.request(msg,25000)返回null。
10_client_channel.xml 配置
<?xml version="1.0" ?> <channel-adaptor name="manager" class="org.jpos.q2.iso.MultiSessionChannelAdaptor" logger="Q2"> <in>channel-Tx</in> <out>channel-Rx</out> <sessions>5</sessions> <timeout>30000</timeout> <keep-alive>yes</keep-alive> <max-connect-attempts>30000000000</max-connect-attempts> <reconnect-delay>100</reconnect-delay> <channel name="client-channel" class="org.jpos.iso.channel.ASCIIChannel" logger="Q2" packager="org.jpos.iso.packager.GenericPackager"> <filter class="org.jpos.iso.filter.DebugFilter" direction="outgoing"/> <property name="host" value="localhost"/> <property name="port" value="65000"/> <property name="timeout" value="60000"/> <property name="packager-config" value="${catalina.base}/conf/esewa/isoproperties/iso8583f1soft.xml"/> </channel> </channel-adaptor>
20_client_qmux.xml 配置
<?xml version="1.0" ?> <mux class="org.jpos.q2.iso.QMUX" logger="Q2" name="jpos-client-mux"> <in>channel-Rx</in> <out>channel-Tx</out> <ready>jpos-client-adaptor.ready</ready> <key>11,37</key> <unhandled>Channel-unhandled</unhandled> </mux>
初始化代码
全局变量private QMUX qmux;通过构造函数初始化:
qmux= NameRegistrar.get("mux.jpos-client-mux"); channelTimeoutPeriod=25000;
业务代码片段
log.info("firing ISO...."); applicationResponse.setIsoRequestTime(new Date()); ISOMsg responseISOMessage= qmux.request(requestISOMessage,channelTimeoutPeriod); applicationResponse.setIsoResponseTime(new Date()); log.info("responseISOMessage:{}",responseISOMessage);
内容的提问来源于stack exchange,提问作者Sanjok
相关产品推荐
相关产品推荐

