当系统脱离网络时面临 SAP JCO 服务器连接问题
Facing issue with SAP JCO server connectivity when system out of network
我们遇到了 JCO SAP 服务器的问题。
问题:我们有一个 运行 JCO SAP 服务器。假设如果系统脱离网络,运行 JCO SAP 服务器开始抛出错误。如果系统在 30-45 分钟内返回网络,则启动的 JCO SAP 服务器将恢复其功能。但是,如果系统在很长时间(比如 1 或 2 小时)后进入网络,则 JCO SAP 服务器不会恢复其功能。
请问有什么方法可以增加重试次数和重试间隔吗?或者配置无限重试的方法。
方法:我们尝试通过在服务器实例上调用停止方法来重新启动 JCO SAP 服务器,然后在同一服务器实例上调用启动方法,但在我们重新启动 JVM 之前,JCO SAP 服务器仍然没有接收到从 SAP 服务器发送的 IDOC .
预期:当系统在很长一段时间后进入网络,然后在重新启动 JCO SAP 服务器(调用 stop() > release() > start() 方法)后应该可以正常工作。
SAP Api 是否与 JVM 有任何绑定或它在 JVM 级别缓存某些内容?
请让我们知道我们需要做什么?因此,启动的 JCO SAP 服务器即使在长时间断开网络后也能恢复其功能。
如果您需要更多信息,请告诉我。
运行 JCO SAP 版本:SAPJCO3.jar (3.0.14)
SAP JCO 服务器脱离网络时出错
2016-09-01 11:34:08,014 ERROR [JCoServerThread-2] SAPServer com.adeptia.indigo.services.sap.server.ErrorListener.serverExceptionOccurred(ErrorListener.java:46) - ||||administrators|||||admin|Error occured on ADEPTIATEST connection 4-/H/155.56.59.11/H/cpcF501|sapgw05|ADEPTIATEST[CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
]|192.168.1.73||null
com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:681)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2269)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245)
at java.lang.Thread.run(Thread.java:745)
Caused by: RfcException: [null]
message: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
Return code: RFC_FAILURE(1)
error group: 102
key: RFC_ERROR_COMMUNICATION
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2315)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2229)
... 4 more
Caused by:
>RfcIoException:
message: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
Return code: RFCIO_ERROR_SYSERROR(5)<
at com.sap.conn.rfc.engine.RfcIoOpenCntl.ab_rfclisten(RfcIoOpenCntl.java:1392)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2311)
... 5 more
当您在停止 JCO 服务器实例时执行以下操作时,它应该可以正常工作:
- 从
ServerDataEventListener
实例中删除对您的服务器的引用。您可以从注册的 ServerDataProvider
对象中检索 ServerDataEventListener
实例的引用。
- 从
DestinationDataEventListener
实例中删除对您目的地的引用。您可以从注册的 DestinationDataProvider
对象中检索 DestinationDataEventListener
实例的引用。
我们遇到了 JCO SAP 服务器的问题。
问题:我们有一个 运行 JCO SAP 服务器。假设如果系统脱离网络,运行 JCO SAP 服务器开始抛出错误。如果系统在 30-45 分钟内返回网络,则启动的 JCO SAP 服务器将恢复其功能。但是,如果系统在很长时间(比如 1 或 2 小时)后进入网络,则 JCO SAP 服务器不会恢复其功能。
请问有什么方法可以增加重试次数和重试间隔吗?或者配置无限重试的方法。
方法:我们尝试通过在服务器实例上调用停止方法来重新启动 JCO SAP 服务器,然后在同一服务器实例上调用启动方法,但在我们重新启动 JVM 之前,JCO SAP 服务器仍然没有接收到从 SAP 服务器发送的 IDOC .
预期:当系统在很长一段时间后进入网络,然后在重新启动 JCO SAP 服务器(调用 stop() > release() > start() 方法)后应该可以正常工作。
SAP Api 是否与 JVM 有任何绑定或它在 JVM 级别缓存某些内容?
请让我们知道我们需要做什么?因此,启动的 JCO SAP 服务器即使在长时间断开网络后也能恢复其功能。
如果您需要更多信息,请告诉我。
运行 JCO SAP 版本:SAPJCO3.jar (3.0.14)
SAP JCO 服务器脱离网络时出错
2016-09-01 11:34:08,014 ERROR [JCoServerThread-2] SAPServer com.adeptia.indigo.services.sap.server.ErrorListener.serverExceptionOccurred(ErrorListener.java:46) - ||||administrators|||||admin|Error occured on ADEPTIATEST connection 4-/H/155.56.59.11/H/cpcF501|sapgw05|ADEPTIATEST[CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
]|192.168.1.73||null
com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:681)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2269)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245)
at java.lang.Thread.run(Thread.java:745)
Caused by: RfcException: [null]
message: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
Return code: RFC_FAILURE(1)
error group: 102
key: RFC_ERROR_COMMUNICATION
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2315)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2229)
... 4 more
Caused by:
>RfcIoException:
message: CPIC-CALL: SAP_CMACCPTP3 on convId:
ERROR connection to partner '155.56.59.11:3299' broken
TIME Thu Sep 01 11:34:07 2016
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 5087
DETAIL NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413
SYSTEM CALL recv
ERRNO 10054
ERRNO TEXT WSAECONNRESET: Connection reset by peer
COUNTER 1
Return code: RFCIO_ERROR_SYSERROR(5)<
at com.sap.conn.rfc.engine.RfcIoOpenCntl.ab_rfclisten(RfcIoOpenCntl.java:1392)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2311)
... 5 more
当您在停止 JCO 服务器实例时执行以下操作时,它应该可以正常工作:
- 从
ServerDataEventListener
实例中删除对您的服务器的引用。您可以从注册的ServerDataProvider
对象中检索ServerDataEventListener
实例的引用。 - 从
DestinationDataEventListener
实例中删除对您目的地的引用。您可以从注册的DestinationDataProvider
对象中检索DestinationDataEventListener
实例的引用。