81,092
社区成员
发帖
与我相关
我的任务
分享
接口维持心跳:1
Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy0.getOrders(Unknown Source)
at com.dih.pmpf.dev.CB.test.CurrentThread1.run(CurrentThread1.java:14)
at com.dih.pmpf.dev.CB.test.TestCB.main(TestCB.java:23)
Caused by: 500:Internal Server Error
at org.phprpc.PHPRPC_Client.__readResponseHeader(PHPRPC_Client.java:759)
at org.phprpc.PHPRPC_Client.__readResponseHeader(PHPRPC_Client.java:720)
at org.phprpc.PHPRPC_Client.__post(PHPRPC_Client.java:859)
at org.phprpc.PHPRPC_Client.invoke(PHPRPC_Client.java:488)
at org.phprpc.PHPRPC_Client.invoke(PHPRPC_Client.java:410)
at org.phprpc.PHPRPC_Client.invoke(PHPRPC_Client.java:406)
at org.phprpc.PHPRPC_InvocationHandler.invoke(PHPRPC_Client.java:121)
... 3 more
view plaincopy to clipboardprint?
private static PHPRPC_Server server;
static {
...//初始化server
}
doPost(req, resp){
server.start(req,resp);
}
解决办法:采用 AddGlobal 方式添加发布方法(在 Servlet 的 init() 中调用 PHPRPC_Server 的 AddGlobal 静态方法),在 Servlet 的 service 中直接创建 PHPRPC_Server 对象并启动服务(例如:new PHPRPC_Server().start(req, resp); ),这样可以有效的提高并发的效率,减少错误的发生,但要保证发布的方法必须是线程安全的才行。