ASCIIチャネルとASCIIパッケージャーを使用し、ポートをリッスンしてISO要求に応答することにより、ISOSERVERを実装しました。
同時リクエストを受け入れてレスポンスを送信するサーバーを作成するにはどうすればよいですか。
お願いします
ASCIIチャネルとASCIIパッケージャーを使用し、ポートをリッスンしてISO要求に応答することにより、ISOSERVERを実装しました。
同時リクエストを受け入れてレスポンスを送信するサーバーを作成するにはどうすればよいですか。
お願いします
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 ();
}
}