2013-05-19 4 views
2

Я получаю эту ошибку, и я не знаю, как исправить:EJB3.1 NotSerializableException

java.io.NotSerializableException: com.procc.dao. EJB31_Generated_ AlertFacade _Intf_Bean _ на java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1180) в java.io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream.java:1528) в java.io .ObjectOutputStream.writeSerialData (ObjectOutputStream.java:1493) на java.io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream.java:1416) на java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1174) в Java. io.ObjectOutputStream.writeObject (ObjectOutputStream.java:346) на java.util.HashMap.writeObject (HashMap.java:1100) при sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) при sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 57) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:601) при java.io.ObjectStreamClass.invokeWriteObject (ObjectStreamClass.java : 975) на java.io.ObjectOutputStream.writeSerialData (ObjectOutputStream.java:1480) на java.io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream.java:1416) на java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1174) на java.io.ObjectOutputStream.defaultWriteFields (ObjectOutputStream.java:1528) на java.io.ObjectOutputStream.writeSerialData (ObjectOutputStream.java:1493) на java.io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream.java:1416) на java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1174) на java.io.ObjectOutputStream.writeArray (ObjectOutputStream.java:1362) по адресу java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1170) по адресу java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:346) на java.util.HashMap.writeObject (HashMap.java:1100) при sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) при sun.reflect. NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) на java.lang.reflect.Method.invoke (Method.java:601) при java.io .ObjectStreamClass.invokeWriteObject (ObjectStreamClass.java:975) на java.io.ObjectOutputStream.writeSerialData (ObjectOutputStream.java:1480) на java.io.ObjectOutputStream.writeOrdinaryObject (ObjectOutputStream.java:1416) на java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1174) на java.io.ObjectOutputStream.writeObject (ObjectOutputStream.java:346) на com.sun.faces.renderkit.ClientSideStateHelper.doWriteState (ClientSideStateHelper .java: 325) по адресу com.sun.faces.renderkit.ClientSideStateHelper.WriteState (ClientSideStateHelper.java:173) на com.sun.faces.renderkit.ResponseStateManagerImpl.writeState (ResponseStateManagerImpl.java:122) на com.sun.faces.application.StateManagerImpl.writeState (StateManagerImpl.java:166) на com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter (WriteBehindStateWriter.java:225) на com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView (FaceletViewHandlingStrategy.java:419) в ком .sun.faces.application.view.MultiViewHandler.renderView (MultiViewHandler.java:131) по адресу com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:1 21) на com.sun.faces.lifecycle.Phase.doPhase (Phase.java:101) на com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139) на странице javax.faces.webapp. FacesServlet.service (FacesServlet.java:594) при org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1550) на org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:281) на org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) на org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:655) на org.apache. catalina.core.StandardPipeline.invoke (StandardPipeline.java:595) на org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:161) на org.apache.catalina.connector.CoyoteAdapter.doService (CoyoteAdapter.java:331) на org.apache. catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:231) на com.sun.enterprise.v3.services.impl.ContainerMapper $ AdapterCallable.call (ContainerMapper.java:317) в com.sun.enterprise. v3.services.impl.ContainerMapper.service (ContainerMapper.java:195) на com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:860) на com.sun.grizzly.http.ProcessorTa sk.doProcess (ProcessorTask.java:757) на com.sun.grizzly.http.ProcessorTask.process (ProcessorTask.java:1056) на com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java: 229) на com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:137) на com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:104) на com.sun.grizzly.DefaultProtocolChain .execute (DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute (HttpProtocolChain.java:79) at com.sun.grizzly.Proto colChainContextTask.doCall (ProtocolChainContextTask.java:54) на com.sun.grizzly.SelectionKeyContextTask.call (SelectionKeyContextTask.java:59) в com.sun.grizzly.ContextTask.run (ContextTask.java:71) в ком .sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool $ Worker.run (AbstractThreadPool.java:513) at java.lang.Thread. бежать (Thread.Java: 722)

это AlertFacade:

@Stateless общественного класса AlertFacade расширяет AbstractFacade { @PersistenceContext (UnitName = "flams_pu") личное EntityManager эм;

@Override 
protected EntityManager getEntityManager() { 
    return em; 
} 

public AlertFacade() { 
    super(Alert.class); 
} } 

, которые я использовать в JSF управляемый компонент.

EJB должен быть Serializable? Я не понимаю. Пожалуйста, помогите

ответ

0

Я бы попытался добавить к подписи класса implements Serializable. Поскольку это интерфейс маркера, вам не нужно реализовывать какой-либо метод.

+1

Это нормально, я решил проблему. Фактически управляемый компонент JSF является Serializable, поэтому он пытается сериализовать экземпляр EJB, который не является сериализуемым, поскольку он содержит EntityManager. Я добавил переход к этому экземпляру, и это заставило ошибку исчезнуть. Спасибо за помощь. – velocity

+0

Пожалуйста, поддержите меня, если вы найдете мой ответ полезным. Благодаря! –

Смежные вопросы