On further investigation it doesn't seem to be a weld/glassfish bug as as far as I can tell there is no requirement for a Stateless EJB proxy to be serializable. The issue was raised here where a patch to seam-wicket was proposed: https://issues.jboss.org/browse/SEAMWICKET-41 Any chance of a similar workaround for wicket-cdi?
Interestingly if I inject the @Stateless EJB into an @ApplicationScoped bean and then inject the application scoped bean into my page there are no serialization issues, suggesting that in this case the proxy for the SLSB is serializable. -Phill On 16/nov/2011, at 17:24, Igor Vaynberg wrote: > looks like a weld/glassfish bug, especially since other kinds of proxies > (even for application-scoped objects) are serializable. > > -igor > > On Wed, Nov 16, 2011 at 12:52 AM, Phill <[email protected]> wrote: > >> I'm using the wicket-cdi module (https://github.com/42Lines/wicket-cdi) >> to inject an SLSB with Glassfish 3.1.1 >> >> MyWebApplication.init() >> >> BeanManager manager = (BeanManager) ic.lookup("java:comp/BeanManager"); >> new CdiConfiguration(manager) >> .setPropagation(ConversationPropagation.NONBOOKMARKABLE) >> .configure(this); >> >> public class DashboardPage extends AuthorisedBasePage { >> @Inject >> private AccountingService accountingService; >> … >> } >> >> Injection is working fine and I can use the session bean but Wicket is >> unable to serialize the proxy. >> According to my research previous issues with the Weld proxy not being >> serializable should have been resolved in the version that shipped with GF >> 3.1. >> I've also tried the latest GF 3.1.2 promoted build which uses Weld 1.1.3 >> and I get the same problem. >> >> I'm not really sure if this is a Wicket issue or whether I should be >> taking it up with the Weld team.. any pointers appreciated. >> >> >> 2011-11-16 09:05:17,201 [http-thread-pool-8181(4)] ERROR >> org.apache.wicket.serialize.java.JavaSerializer - Error serializing object >> class uk.co.leadseeker.webapp.user.DashboardPage [object=[Page class = >> uk.co.leadseeker.webapp.user.DashboardPage, id = 3, render count = 1]] >> java.io.NotSerializableException --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
