JavaSerializer - Error serializing object class

2014-09-09 Thread Stefan Lorenz
Hi,

with Glassfish4 we get a lot of Exceptions when a page gets serialized.

org.apache.wicket.serialize.java.JavaSerializer - Error serializing object class
..
org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream$ObjectCheckException:
 The object type is not Serializable!
A problem occurred while checking object with type: 
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
Field hierarchy is:
..
..
private final org.jboss.weld.ejb.api.SessionObjectReference 
org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.reference 
[class=org.glassfish.weld.ejb.SessionObjectReferenceImpl]
private 
java.lang.Object org.glassfish.weld.ejb.SessionObjectReferenceImpl.ejbRef 
[class=com.sun.proxy.$Proxy202]
  protected 
java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h 
[class=com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate] - 
field that is causing the problem


Any idea where this is coming from or what's causing this?

Regards,
Stefan



Re: JavaSerializer - Error serializing object class

2014-09-09 Thread Maxim Solodovnik
you can only have Serializable classes stored in the page
you can have DTO or ID stored if it is impossible

On 9 September 2014 13:53, Stefan Lorenz stefan.lor...@persis.de wrote:

 Hi,

 with Glassfish4 we get a lot of Exceptions when a page gets serialized.

 org.apache.wicket.serialize.java.JavaSerializer - Error serializing object
 class
 ..
 org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream$ObjectCheckException:
 The object type is not Serializable!
 A problem occurred while checking object with type:
 com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
 Field hierarchy is:
 ..
 ..
 private final org.jboss.weld.ejb.api.SessionObjectReference
 org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.reference
 [class=org.glassfish.weld.ejb.SessionObjectReferenceImpl]
 private
 java.lang.Object org.glassfish.weld.ejb.SessionObjectReferenceImpl.ejbRef
 [class=com.sun.proxy.$Proxy202]

 protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h
 [class=com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate]
 - field that is causing the problem


 Any idea where this is coming from or what's causing this?

 Regards,
 Stefan




-- 
WBR
Maxim aka solomax


Re: JavaSerializer - Error serializing object class

2014-09-09 Thread Martin Grigorov
Hi,

This is a well known issue with CDI+EJB. It has been discussed few times
here and other forums.
CDI injects non-Serializable objects for EJB beans.
A workaround is to use a delegate CDI bean to lookup the EJBs. I.e. instead
of @Inject-ing EJBs in Wicket components inject a scoped CDI bean that
injects the EJBs in itself.
So the usage in Wicket would be:

public class MyComponent extends ... {
  @Inject MyCDIBean cdiBean;
  ...

  cdiBean.getEjb().doSomething();
  ...
}

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov


On Tue, Sep 9, 2014 at 9:53 AM, Stefan Lorenz stefan.lor...@persis.de
wrote:

 Hi,

 with Glassfish4 we get a lot of Exceptions when a page gets serialized.

 org.apache.wicket.serialize.java.JavaSerializer - Error serializing object
 class
 ..
 org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream$ObjectCheckException:
 The object type is not Serializable!
 A problem occurred while checking object with type:
 com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate
 Field hierarchy is:
 ..
 ..
 private final org.jboss.weld.ejb.api.SessionObjectReference
 org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.reference
 [class=org.glassfish.weld.ejb.SessionObjectReferenceImpl]
 private
 java.lang.Object org.glassfish.weld.ejb.SessionObjectReferenceImpl.ejbRef
 [class=com.sun.proxy.$Proxy202]

 protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h
 [class=com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate]
 - field that is causing the problem


 Any idea where this is coming from or what's causing this?

 Regards,
 Stefan