如何解决Jpos java.net.SocketException
我编写了一个部署在 tomcat 上的基本 jpos 客户端应用程序,它向 jpos 服务器发送 8583 条消息。 jpos 服务器实现已经运行了很长时间,并且有其他客户端连接到它。我写的客户端 jpos 应用程序是由一个休息端点触发的,当请求串行执行时它工作正常。当通过运行多个线程增加负载时,我在日志中看到以下异常。知道在这种情况下会发生什么吗?
class jposClient{
private CSChannel csChannel;
public ISOMsg send(ISOMsg request){
ISOMsg response
csChannel=getCSChannel();
csChannel.connect();
jposChannel.send(request);
do {
response = jposChannel.receive();
}while(response.getMTI().startsWith("08"));
}
return response;
}
private CSChannel getCSChannel() throws IOException {
if(csChannel!=null){
return csChannel;
}
try {
csChannel = new CSChannel();
Configuration configuration = new SimpleConfiguration();
configuration.put("keep-alive","true");
configuration.put("expect-keep-alive","true");
configuration.put("host","127.0.0.1");
configuration.put("port",String.valueOf(5456));
csChannel.setConfiguration(configuration);
csChannel.setPackager(new GenericPackager(
"packager.xml"););
} catch (ISOException e) {
e.printstacktrace();
}
return csChannel;
}
}
日志
java.net.socketException: Socket is closed
at java.net.socket.getInputStream(Socket.java:921)
at org.jpos.iso.BaseChannel.connect(BaseChannel.java:280)
at org.jpos.iso.BaseChannel.connect(BaseChannel.java:414)
at org.jpos.iso.BaseChannel.reconnect(BaseChannel.java:845)
java.io.EOFException: null
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at org.jpos.iso.channel.CSChannel.getMessageLength(CSChannel.java:97)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:712)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。