That's kind of what I was thinking...and afraid of myself - that Glassfish isn't playing nicely w/ Wicket when attempting to serialize - otherwise the error doesn't make much sense.
I'm building a little test-app to demonstrate right now. If this is the case, what can be done to work around it, if anything? On 7/5/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > well, the problem might be that it is serialized by wicket itself. > this is done because you have the logger set to debug to help identify > things you put into session that might not be serializable. maybe the > container doesnt serialize the same way so when the container does it > its not a problem, but when wicket does it it is a problem. > > -Igor > > > On 7/5/06, Vincent Jenks <[EMAIL PROTECTED]> wrote: > > I don't know, I would believe that if I weren't able to make a > > Stateful bean and use it exactly how I did in Wicket, outside of this > > project. > > > > I setup a test project and their stateful/stateless beans work > > flawlessly when tested against JSP/Servlets....the problem arises w/ > > Wicket + SFSB on Glassfish. > > > > On 7/5/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > > > Caused by: java.io.NotSerializableExcepti > > > on: > > > com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate > > > at > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) > > > > > > looks like a bug in sun's impl of ejbs? > > > > > > -Igor > > > > > > > > > > > > On 7/5/06, Vincent Jenks <[EMAIL PROTECTED] > wrote: > > > > > > > I'm testing an app I just finished and is currently running on JBoss > > > on Sun's Glassfish (SJAS 9.0) to test compatibility and see if it's a > > > viable option going forward w/ our enterprise efforts. > > > > > > I seem to be having an issue w/ storing objects in session. Wicket > > > runs fine until I utilize the overridden ISessionFactory to store > > > objects - then I start getting exceptions like this: > > > > > > ********************************************************************** > > > > > > StandardWrapperValve[ProductCatalogApp]: Servlet.service() > > > for servlet > > > ProductCatalogApp threw exception > > > wicket.WicketRuntimeException: Internal error cloning object. Make > > > sure all dependent objects implement Serializable. Class: > > > com.myapp.ui.admin.UserSession > > > at > > > wicket.protocol.http.HttpSessionStore.setAttribute > > > (HttpSessionStore.java:62) > > > at wicket.Session.setAttribute(Session.java:914) > > > at wicket.Session.update(Session.java:938) > > > at > > > wicket.protocol.http.WebSession.update(WebSession.java:116) > > > at wicket.RequestCycle.detach(RequestCycle.java:818) > > > at wicket.RequestCycle.steps(RequestCycle.java:1052) > > > at wicket.RequestCycle.request(RequestCycle.java:453) > > > at wicket.protocol.http.WicketServlet.doGet > > > (WicketServlet.java:215) > > > at > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > > > at > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > > > at > > > org.apache.catalina.core.ApplicationFilterChain.servletService > > > (ApplicationFilterChain.java:397) > > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278) > > > at > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566) > > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536) > > > at > > > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240) > > > at > > > org.apache.catalina.core.StandardContextValve.invoke > > > (StandardContextValve.java:179) > > > at > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566) > > > at > > > com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73) > > > at > > > org.apache.catalina.core.StandardHostValve.invoke > > > (StandardHostValve.java:182) > > > at > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566) > > > at > > > com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120) > > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939) > > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137) > > > at > > > org.apache.catalina.core.StandardPipeline.doInvoke > > > (StandardPipeline.java:566) > > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536) > > > at > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939) > > > at org.apache.coyote.tomcat5.CoyoteAdapter.service > > > (CoyoteAdapter.java:231) > > > at > > > com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667) > > > at > > > com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java > > > :574) > > > at > > > com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844) > > > at > > > com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287) > > > at > > > com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212) > > > at > > > com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252) > > > at > > > com.sun.enterprise.web.connector.grizzly.WorkerThread.run > > > (WorkerThread.java:75) > > > Caused by: java.io.NotSerializableException: > > > com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate > > > at > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) > > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) > > > at > > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) > > > at java.io.ObjectOutputStream.writeOrdinaryObject > > > (ObjectOutputStream.java:1284) > > > at > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) > > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) > > > at java.io.ObjectOutputStream.writeSerialData > > > (ObjectOutputStream.java:1341) > > > at > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) > > > at > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) > > > at java.io.ObjectOutputStream.writeObject > > > (ObjectOutputStream.java:291) > > > at > > > wicket.protocol.http.HttpSessionStore.setAttribute(HttpSessionStore.java:56) > > > ... 33 more > > > > > > ********************************************************************** > > > > > > The ProductCatalogApp (my wicket application class) looks like this: > > > > > > public class ProductCatalogApp extends WebApplication > > > { > > > public void init() > > > { > > > //create external images resource > > > getSharedResources().add("imageResource", > > > new ImageResource()); > > > > > > //start timer services > > > TimerProxy.init(); > > > } > > > > > > public Class getHomePage() > > > { > > > return ProductCatalog.class; > > > } > > > > > > public ISessionFactory getSessionFactory() > > > { > > > return new ISessionFactory() > > > { > > > public Session newSession() > > > { > > > return new > > > UserSession(ProductCatalogApp.this); > > > } > > > }; > > > } > > > } > > > > > > UserSession looks like this: > > > > > > public class UserSession extends WebSession > > > { > > > private User user; > > > private ShoppingCart cart; > > > > > > public UserSession(WebApplication application) > > > { > > > super(application); > > > } > > > > > > public User getUser() > > > { > > > return this.user; > > > } > > > > > > public void setUser(User user) > > > { > > > this.user = user; > > > dirty(); > > > } > > > > > > public boolean authenticated() > > > { > > > if (this.getUser() == null) > > > return false; > > > else > > > return true; > > > } > > > > > > public ShoppingCart getCart() > > > { > > > return this.cart; > > > } > > > > > > public void setCart(ShoppingCart cart) > > > { > > > this.cart = cart; > > > dirty(); > > > } > > > } > > > > > > And all classes used in the UserSession class are serializable...I > > > even made the stateful ShoppingCartBean serializable (the User entity > > > already was) and it makes no difference. I'm fairly sure something > > > goes wrong w/ the Stateful ShoppingCartBean as I can login and use the > > > UserSession class (above) just fine - user authentication isn't > > > affected. Once I add items to my cart I get the exception and from > > > that point on - nothing session-based works and I get the exception if > > > I try to login again...or do anything that accesses the UserSession > > > class. > > > > > > Basically, I think Wicket + SFSB in Glassfish's EJB3 implementation > > > aren't playing nice together somehow...and I thought I'd get your > > > guys' opinions before I posted something on their forum. > > > > > > Thanks! > > > > > > -v > > > > > > Using Tomcat but need to do more? Need to support web services, security? > > > Get stuff done quickly with pre-integrated technology to make your job > > > easier > > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > _______________________________________________ > > > Wicket-user mailing list > > > Wicket-user@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > Using Tomcat but need to do more? Need to support web services, security? > > > Get stuff done quickly with pre-integrated technology to make your job > > > easier > > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > > > > > > > _______________________________________________ > > > Wicket-user mailing list > > > Wicket-user@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user