首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection

java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection
EN

Stack Overflow用户
提问于 2017-07-25 18:37:57
回答 1查看 1.4K关注 0票数 0

环境- EJB 3.1、Struts 2.2、Wildfly-10.1.0

在Struts2.2Action类中,我对无状态会话bean的方法进行了远程调用。此方法返回java.sql.Connection对象。

代码语言:javascript
复制
15:09:40,934 ERROR [stderr] (default task-8) java.lang.RuntimeException: WFLYEJB0054: Failed to marshal EJB parameters
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:338)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:318)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:275)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
15:09:40,935 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:138)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
15:09:40,936 ERROR [stderr] (default task-8)         at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
15:09:40,936 ERROR [stderr] (default task-8)         at com.sun.proxy.$Proxy70.getConnection(Unknown Source)
15:09:40,936 ERROR [stderr] (default task-8)         at tod.ss.tasm.aehcs.struts2.MyAction.RetrieveOracleConnection(TestAction.java:428)
15:09:40,937 ERROR [stderr] (default task-8)         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:09:40,937 ERROR [stderr] (default task-8)         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
15:09:40,937 ERROR [stderr] (default task-8)         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:09:40,937 ERROR [stderr] (default task-8)         at java.lang.reflect.Method.invoke(Method.java:497)
15:09:40,937 ERROR [stderr] (default task-8)         at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
15:09:40,947 ERROR [stderr] (default task-8) Caused by: java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection
15:09:40,948 ERROR [stderr] (default task-8)         at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:253)
15:09:40,948 ERROR [stderr] (default task-8)         at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:128)
15:09:40,948 ERROR [stderr] (default task-8)         at org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:335)
15:09:40,948 ERROR [stderr] (default task-8)         ... 116 more

为什么在远程调用中将java.sql.Connection对象从EJB3会话bean返回到Struts2.1Action Class时会出现此错误?那么解决这个问题的办法是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2018-08-17 22:13:28

检查是否同时使用数据源连接和外部jdbc瘦客户端连接。尝试删除通过瘦client.just获取的连接试一试。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45300837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档