Well, this was the first app I've ever built w/ EJB technology of *any* version...it's sort of a pilot app for future in-house efforts....so far it's worked out great.
So, correct me if I'm wrong but it's my understanding that if I do not store the stub to the interface of the stateful bean in an HTTP session - I may lose the reference to that bean the next time I call it. So, I'm calling the stateful bean and storing a reference to it in http session so I can recall that exact instance back from the server later. This is how it was done in the app that is currently running in production on JBoss. On 7/6/06, Matej Knopp <[EMAIL PROTECTED]> wrote: > Anyway, I don't really understand, why is the ejb object actually being > serialized. Do you store your service objects in session? > > -Matej > > Igor Vaynberg 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 > 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