我通过使用 ASCII 通道和 ASCII 打包器并监听端口并响应 ISO 请求来实现 ISO SERVER。
我怎样才能让我的服务器接受并发请求并发送响应。
请
如果您使用的是 Q2,只需部署 QServer 并设置其默认值为 0 和 100 的 minSessions 和 maxSessions。
这里处理并发请求的示例 jPOS 服务器:http:
//didikhari.web.id/java/jpos-client-receive -响应特定端口/
ISOServer
与线程池一起使用,因此您可以开箱即用地接受并发请求。每个套接字连接都由它自己的线程处理。所以,我认为你所要做的就是ISORequestListener
为你分配一个来ISOServer
实际处理你的传入消息。
这是从 jPOS 指南中获取的测试程序:
public class Test implements ISORequestListener {
public Test () {
super();
}
public boolean process (ISOSource source, ISOMsg m) {
try {
m.setResponseMTI ();
m.set (39, "00");
source.send (m);
} catch (ISOException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
public static void main (String[] args) throws Exception {
Logger logger = new Logger ();
logger.addListener (new SimpleLogListener (System.out));
ServerChannel channel = new XMLChannel (new XMLPackager());
((LogSource)channel).setLogger (logger, "channel");
ISOServer server = new ISOServer (8000, channel, null);
server.setLogger (logger, "server");
server.addISORequestListener (new Test ());
new Thread (server).start ();
}
}