是否可以在单个 JPOS 实例中为多个客户端监听多个端口?
Is it possible to listen with multiple port for multiple client in single JPOS instance?
我是 JPOS 的新手。我们已经为多个客户端实现了 jpos 服务器。
here is a image of my scenario
例如,我们有 n 个客户。每个客户端的 ISO 消息格式都不同。
是否可以在JPOS 服务器中为每个客户端实现多个监听端口?
如果否,那么使用单个 JPOS 服务器实例处理多个客户端的最佳做法是什么?
我们如何在处理ECHO和登录请求时识别每个客户端?
请帮忙。
提前致谢。
当然,为什么不呢,您可以添加任意数量的服务器,使用不同的协议。查看 http://jpos.org/tutorials 并向您的部署目录添加更多服务器。
您可以使用JPOS的group,selector,participant特性来处理echo和request。
选择器和组的示例代码
<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 class 可以实现 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;
}
当然可以添加多个q2服务器。
只需在您的 dist 文件夹中添加另一个 xml q2 服务器定义,jPOS 将立即选择新服务器并开始侦听您指定的端口。
我是 JPOS 的新手。我们已经为多个客户端实现了 jpos 服务器。
here is a image of my scenario
例如,我们有 n 个客户。每个客户端的 ISO 消息格式都不同。
是否可以在JPOS 服务器中为每个客户端实现多个监听端口?
如果否,那么使用单个 JPOS 服务器实例处理多个客户端的最佳做法是什么?
我们如何在处理ECHO和登录请求时识别每个客户端?
请帮忙。
提前致谢。
当然,为什么不呢,您可以添加任意数量的服务器,使用不同的协议。查看 http://jpos.org/tutorials 并向您的部署目录添加更多服务器。
您可以使用JPOS的group,selector,participant特性来处理echo和request。
选择器和组的示例代码
<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 class 可以实现 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;
}
当然可以添加多个q2服务器。
只需在您的 dist 文件夹中添加另一个 xml q2 服务器定义,jPOS 将立即选择新服务器并开始侦听您指定的端口。