我有一个正常工作的J2EE应用程序,该应用程序已成功部署在Tomcat和Glassfish服务器中。我正在尝试在IBM WebSphere 8.5.5.10中部署相同的应用程序。但是由于下一行中的context rebind语句出现JNDI绑定错误,因此无法启动应用程序。
InitialContext context =新的InitialContext(); context.rebind(String object,Custom Java Object);
以下是在日志中找到的异常堆栈跟踪
[错误] com.ibm.ws.naming.util.CannotBindObjectException:对象不是可以绑定的任何类型。 (eDynamo.handlers.instancerunner.InstanceRunnerHandler)(2018年11月21日11:38:06) com.ibm.ws.naming.util.CannotBindObjectException:对象不是可以绑定的任何类型。 在com.ibm.ws.naming.util.Helpers.processJavaObjectForBinding(Helpers.java:718)〜[com.ibm.ws.runtime.jar :?] 在com.ibm.ws.naming.jndicos.CNContextImpl.doRebind(CNContextImpl.java:2077)〜[com.ibm.ws.runtime.jar :?] 在com.ibm.ws.naming.jndicos.CNContextImpl.rebind(CNContextImpl.java:698)〜[com.ibm.ws.runtime.jar :?] 在com.ibm.ws.naming.util.WsnInitCtx.rebind(WsnInitCtx.java:233)〜[com.ibm.ws.runtime.jar :?] 在com.ibm.ws.naming.util.WsnInitCtx.rebind(WsnInitCtx.java:245)〜[com.ibm.ws.runtime.jar:?]
我检查了com.ibm.ws.naming.util类的源代码,启用了com.ibm.ws.naming包的跟踪,发现我要绑定的对象不可序列化。根据源代码,仅远程对象需要可序列化,并且根据JNDI文档,对不可序列化的对象没有限制。
Java版本:-1.8_64
有人可以帮我解决此问题吗?