我是刚加入JPOS的。我们已经为多个客户端实现了jpos服务器。
例如,我们有n个客户。每个客户端的ISO消息格式是不同的。
能否为JPOS服务器中的每个客户端实现多个侦听端口?
如果不是,那么使用单个JPOS服务器实例处理多个客户端的最佳实践是什么?
在处理回送和登录请求时,我们如何识别每个客户端?
请帮帮忙。
提前谢谢。
发布于 2018-04-25 21:52:21
当然可以添加多个q2服务器。
只要在dist文件夹中添加另一个q2服务器的xml定义,jPOS就会立即拿起新服务器并开始监听指定的端口。
发布于 2018-04-16 05:57:45
当然,为什么不呢?您可以使用不同的协议添加任意数量的服务器。看看http://jpos.org/tutorials,只需将更多服务器添加到部署目录中即可。
发布于 2018-04-19 05:29:16
您可以使用JPOS的组、选择器、参与者特性来处理回送和请求。
选择器和组的示例代码
<participant class="org.jpos.demo.group.Selector" name="Selector" logger="Q2">
<property name="1100" value="Request" />
<property name="1800" value="Echo" />
</participant>
<group name="Request">
<participant class="org.jpos.demo.transaction.Request" logger="Q2" realm="prepare-response">
</participant>
</group>
<group name="Echo">
<participant class="org.jpos.demo.transaction.Echo" logger="Q2" realm="prepare-echo">
</participant>
</group>
选择器可以识别传入消息示例的MTI : 1100用于请求,1800用于回波。Selector类可以实现GroupSelector和Configurable,并重写以下方法以获得MTI
@Override
public String select(long l, Serializable serializable) {
Context ctx = (Context)serializable;
ISOMsg resIsoMsg = (ISOMsg)ctx.get(REQUEST);
String selector = "";
try {
selector = configuration.get(resIsoMsg.getMTI());
} catch (ISOException e) {
e.printStackTrace();
}
return selector;
}
https://stackoverflow.com/questions/49848606
复制相似问题