I'll check it out thanks! On Thu, Apr 12, 2012 at 11:33 AM, Igor Vaynberg <igor.vaynb...@gmail.com>wrote:
> weld doesnt wrap ejbs in serializable proxies. if you want to inject > ejbs you should do it with wicket-jee module found in wicketstuff. > > -igor > > On Thu, Apr 12, 2012 at 5:55 AM, Jonathan Tougas <jtou...@gmail.com> > wrote: > > @Override > > protected void onBeforeRender() { > > System.out.println( foo ); > > System.out.println( foo.getClass() ); > > super.onBeforeRender(); > > } > > > > When using @Stateless, the output is : > > > > 08:52:35,027 INFO [stdout] (http--127.0.0.1-8080-1) Proxy for view > class: > > com.foo.FooStateless of EJB: FooStateless > > 08:52:35,028 INFO [stdout] (http--127.0.0.1-8080-1) class > > com.foo.FooStateless$Proxy$_$$_Weld$Proxy$ > > > > when using @ApplicationScoped, the output is: > > > > 08:54:00,831 INFO [stdout] (http--127.0.0.1-8080-4) > > com.foo.FooStateless@201a6e9 > > 08:54:00,831 INFO [stdout] (http--127.0.0.1-8080-4) class > > com.foo.FooStateless$Proxy$_$$_WeldClientProxy > > > > > > On Thu, Apr 12, 2012 at 8:46 AM, Martin Grigorov <mgrigo...@apache.org > >wrote: > > > >> The difference is that scoped beans are represented by proxy. > >> I guess there is no proxy for the stateless EJB. You can verify this > >> by putting a breakpoint in your page's #onBeforeRender() and checking > >> the type of the injected value. > >> > >> Later during deserialization the current class loader cannot load > >> class org.jboss.msc.service.ServiceName. > >> In the case with scoped bean the proxy is loaded without problems and > >> it seems the proxy itself deals with the class loading of the > >> underlying bean. > >> > >> On Thu, Apr 12, 2012 at 3:40 PM, Jonathan Tougas <jtou...@gmail.com> > >> wrote: > >> > I'm not familiar with the Wicketopia source, but doing a quick scan I > >> can't > >> > find any EJBs in there. The problem in this case occurs if the > >> FooStateless > >> > class is @Stateless. Changing this to @ApplicationScoped, the problem > >> goes > >> > away. > >> > > >> > On Thu, Apr 12, 2012 at 8:28 AM, Jonathan Tougas <jtou...@gmail.com> > >> wrote: > >> > > >> >> A stateless bean is injected into the home page class. Load the page > in > >> >> two tabs (so twice in the same session), then on the first tab, press > >> the > >> >> button. The error occurs every time in this scenario. > >> >> > >> >> On Thu, Apr 12, 2012 at 2:41 AM, Martin Grigorov < > mgrigo...@apache.org > >> >wrote: > >> >> > >> >>> Hi, > >> >>> > >> >>> On Wed, Apr 11, 2012 at 10:54 PM, Jonathan Tougas < > jtou...@gmail.com> > >> >>> wrote: > >> >>> > I'm running Wicket 1.5 on JBoss 7.1.1 with some CDI thrown in to > the > >> >>> mix. > >> >>> > In certain cases when Wicket deserializes a Page containing a > >> reference > >> >>> to > >> >>> > a CDI bean, I get this exception: > >> >>> > >> >>> In what cases exactly ? > >> >>> Because the problem is > >> >>> > >> >>> Caused by: java.lang.ClassNotFoundException: > >> >>> org.jboss.msc.service.ServiceName from [Module > >> >>> "deployment.wicket.war:main" > >> >>> from Service Module Loader] > >> >>> > >> >>> In what cases this class is no more loadable by the current class > >> loader ? > >> >>> > >> >>> > > >> >>> > 15:10:30,841 ERROR [org.apache.wicket.request.RequestHandlerStack] > >> >>> > (http--127.0.0.1-8080-1) Error detaching RequestHandler: > >> >>> > java.lang.RuntimeException: Could not deserialize object using: > class > >> >>> > > >> >>> > >> > org.apache.wicket.serialize.java.JavaSerializer$ClassResolverObjectInputStream > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.serialize.java.JavaSerializer.deserialize(JavaSerializer.java:137) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.pageStore.DefaultPageStore.deserializePage(DefaultPageStore.java:388) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.pageStore.DefaultPageStore.getPage(DefaultPageStore.java:127) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.page.PageStoreManager$SessionEntry.getPage(PageStoreManager.java:192) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.getPage(PageStoreManager.java:327) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.page.AbstractPageManager.getPage(AbstractPageManager.java:102) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.page.PageManagerDecorator.getPage(PageManagerDecorator.java:50) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.page.PageAccessSynchronizer$2.getPage(PageAccessSynchronizer.java:257) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:117) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.PageProvider.getStoredPage(PageProvider.java:292) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.PageProvider.isNewPageInstance(PageProvider.java:205) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.PageProvider.getPageParameters(PageProvider.java:184) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.logger.PageLogData.<init>(PageLogData.java:51) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init>(ListenerInterfaceLogData.java:56) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detach(ListenerInterfaceRequestHandler.java:134) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:792) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180) > >> >>> > [wicket-request-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:596) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:539) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:287) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:185) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:241) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) > >> >>> > [jboss-as-web-7.1.0.Final.jar:7.1.0.Final] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at > >> >>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) > >> >>> > [jbossweb-7.0.10.Final.jar:] > >> >>> > at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02] > >> >>> > Caused by: java.lang.ClassNotFoundException: > >> >>> > org.jboss.msc.service.ServiceName from [Module > >> >>> "deployment.wicket.war:main" > >> >>> > from Service Module Loader] > >> >>> > at > >> >>> > >> > org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) > >> >>> > at > >> >>> > > >> >>> > >> > org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) > >> >>> > at > >> >>> > > >> >>> > >> > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) > >> >>> > at > >> >>> > > >> >>> > >> > org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) > >> >>> > at > >> >>> > > >> >>> > >> > org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) > >> >>> > at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_02] > >> >>> > at java.lang.Class.forName(Class.java:264) [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.application.AbstractClassResolver.resolveClass(AbstractClassResolver.java:108) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.serialize.java.JavaSerializer$ClassResolverObjectInputStream.resolveClass(JavaSerializer.java:216) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > at > >> >>> > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject(ObjectInputStream.java:369) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at java.util.HashMap.readObject(HashMap.java:1043) > [rt.jar:1.7.0_02] > >> >>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at java.lang.reflect.Method.invoke(Method.java:601) > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > java.io.ObjectInputStream.readObject(ObjectInputStream.java:369) > >> >>> > [rt.jar:1.7.0_02] > >> >>> > at > >> >>> > > >> >>> > >> > org.apache.wicket.serialize.java.JavaSerializer.deserialize(JavaSerializer.java:120) > >> >>> > [wicket-core-1.5.5.jar:1.5.5] > >> >>> > ... 34 more > >> >>> > > >> >>> > I put up a simple project to demonstrate this at > >> >>> > http://code.google.com/p/jonatoga/source/browse/#svn%2Fwicket-ex1 > . > >> To > >> >>> > reproduce the problem load the home page in two tabs, then on the > >> first > >> >>> > tab, press the button. > >> >>> > > >> >>> > Any ideas as to what's going on? > >> >>> > >> >>> > >> >>> > >> >>> -- > >> >>> Martin Grigorov > >> >>> jWeekend > >> >>> Training, Consulting, Development > >> >>> http://jWeekend.com > >> >>> > >> >>> > --------------------------------------------------------------------- > >> >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> >>> For additional commands, e-mail: users-h...@wicket.apache.org > >> >>> > >> >>> > >> >> > >> > >> > >> > >> -- > >> Martin Grigorov > >> jWeekend > >> Training, Consulting, Development > >> http://jWeekend.com > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >