我已经使用ASCII通道和ASCII打包器实现了ISO SERVER,并在端口上侦听并响应ISO请求。
如何让我的服务器接受并发请求并发送响应。
请
答案 0 :(得分:0)
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 ();
}
}
答案 1 :(得分:0)
如果您使用的是Q2,只需部署QServer并设置minSessions和maxSessions,其默认值为0和100。 这里是处理concurent请求的示例jPOS服务器: http://didikhari.web.id/java/jpos-client-receive-response-specific-port/