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
> >>> [email protected]
> >>> 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
> >>> [email protected]
> >>> 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
> >> [email protected]
> >> 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
> > [email protected]
> > 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user