The problem you might get is attempting to store an javax.ejb.Handle. There have been problems with class cast exceptions after redeploying a web application; this changes class loader and causes much trouble.
----- Original Message ----- From: "Alex Loubyansky" <[EMAIL PROTECTED]> To: "'Howard M. Lewis Ship'" <[EMAIL PROTECTED]> Cc: "'Tapestry Developer'" <[EMAIL PROTECTED]> Sent: Wednesday, July 03, 2002 4:59 AM Subject: RE: [Tapestry-developer] Remote EJB interface as persistent property > Yes, in my page class Catalog is a persistent property and remote interface. > So, it's the problem! Am I right? > It seems to me in earlier version of VLib tutorial it was allowed, wasn't > it? > > Sorry, can't test it now. > > Thank you very much! > > alex > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED]]On Behalf Of > > Howard M. Lewis Ship > > Sent: Wednesday, July 03, 2002 5:08 PM > > To: [EMAIL PROTECTED] > > Cc: 'Tapestry Developer' > > Subject: Re: [Tapestry-developer] Remote EJB interface as persistent > > property > > > > > > Tapestry automatically converts persistent page properties > > that are EJB > > references into EJB handles for storage. The down side of > > this is that you > > can't store an EJB handle as a persistent page property. > > Could this be the > > case? > > > > ----- Original Message ----- > > From: "Alex Loubyansky" <[EMAIL PROTECTED]> > > To: "'Howard M. Lewis Ship'" <[EMAIL PROTECTED]> > > Cc: "'Tapestry Developer'" <[EMAIL PROTECTED]> > > Sent: Wednesday, July 03, 2002 2:55 AM > > Subject: RE: [Tapestry-developer] Remote EJB interface as persistent > > property > > > > > > > Hello Howard, > > > > > > at last I tasted 2.0.5, though not exhaustively. I ran my > > old app I had > > > problem with. > > > > > > I haven't seen ClassCastException but I got "Unable to set property > > catalog > > > of component CategoryManager to > > tracker/ejb/Catalog:Stateless." This isn't > > > changed. > > > Environment: JBoss-3.1.0alpha(yes, not release...), Catalina-4.0.2, > > > JDK-1.4.0 (maybe, this is potential problem), Tapestry-2.0.5. > > > > > > Maybe, I misuse the framework as I don't see others > > complaining about the > > > issue. Sorry, I am now in a strict schedule and can't > > research it. If I > > have > > > time, I'll try to narrow the code causing the problem and > > let you know. > > > > > > Good luck! > > > > > > Here is the exception: > > > net.sf.tapestry.record.RollbackException > > > Unable to set property catalog of component CategoryManager to > > > tracker/ejb/Catalog:Stateless. > > > componentId: CategoryManager > > > newValue: tracker/ejb/Catalog:Stateless > > > propertyName: catalog > > > > > > net.sf.tapestry.util.DynamicInvocationException > > > Could not invoke method getCatalog on > > > > > com.imedia.tracker.web.pages.CategoryManager@381a53[CategoryManager]. > > > > > > java.lang.IllegalArgumentException > > > argument type mismatch > > > Stack Trace: > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > > orImpl.java:39 > > > ) > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > > odAccessorImpl > > > .java:25) > > > java.lang.reflect.Method.invoke(Method.java:324) > > > > > net.sf.tapestry.util.prop.PropertyAccessor.set(PropertyAccesso > > r.java:168) > > > > > net.sf.tapestry.util.prop.PropertyHelper.set(PropertyHelper.java:608) > > > net.sf.tapestry.record.PageRecorder.rollback(PageRecorder.java:228) > > > net.sf.tapestry.engine.RequestCycle.getPage(RequestCycle.java:246) > > > net.sf.tapestry.engine.PageService.service(PageService.java:84) > > > > > net.sf.tapestry.engine.AbstractEngine.service(AbstractEngine.java:747) > > > > > net.sf.tapestry.ApplicationServlet.doService(ApplicationServle > > t.java:198) > > > > > net.sf.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:163) > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > > er(Application > > > FilterChain.java:247) > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli > > cationFilterCh > > > ain.java:193) > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > > rapperValve.ja > > > va:243) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 66) > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > > ine.java:472) > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC > > ontextValve.ja > > > va:190) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 66) > > > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut > > henticatorBase > > > .java:528) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 64) > > > > > org.apache.catalina.valves.CertificatesValve.invoke(Certificat > > esValve.java:2 > > > 46) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 64) > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > > ine.java:472) > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > > > > org.apache.catalina.core.StandardContext.invoke(StandardContex > > t.java:2343) > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > > Valve.java:180 > > > ) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 66) > > > > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi > > spatcherValve. > > > java:170) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 64) > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > > Valve.java:170 > > > ) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 64) > > > > > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv > > e.java:468) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 64) > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > > ine.java:472) > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > > gineValve.java > > > :174) > > > > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardP > > ipeline.java:5 > > > 66) > > > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > > ine.java:472) > > > > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > > > > org.apache.catalina.connector.http.HttpProcessor.process(HttpP > > rocessor.java: > > > 1012) > > > > > org.apache.catalina.connector.http.HttpProcessor.run(HttpProce > > ssor.java:1107 > > > ) > > > java.lang.Thread.run(Thread.java:536) > > > > > > > > > > -----Original Message----- > > > > From: Howard M. Lewis Ship [mailto:[EMAIL PROTECTED]] > > > > Sent: Wednesday, June 26, 2002 5:21 PM > > > > To: [EMAIL PROTECTED] > > > > Cc: 'Tapestry Developer' > > > > Subject: Re: [Tapestry-developer] Remote EJB interface as > > persistent > > > > property > > > > > > > > > > > > Have you downloaded 2.0.5? It has built-in JBoss 3.0.0 > > > > support and works > > > > well. > > > > > > > > ----- Original Message ----- > > > > From: "Alex Loubyansky" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Cc: "'Tapestry Developer'" > > <[EMAIL PROTECTED]> > > > > Sent: Thursday, May 23, 2002 10:43 PM > > > > Subject: RE: [Tapestry-developer] Remote EJB interface as > > persistent > > > > property > > > > > > > > > > > > > Hello, Howard. > > > > > > > > > > I won't stop using Tapestrty. But for now I just don't > > > > have time to get > > > > > into its bowels. The semantics is just cool, but I couldn't > > > > get it working > > > > > stably with JBoss 3.x. Mention one more about the > > problem: stateless > > > > session > > > > > bean's remote interface as persistent property. I tried > > different > > > > packaging, > > > > > making the variable as synthetic and still there were > > > > problems. May be I > > > > did > > > > > something wrong but I use VLib as an example. > > > > > > > > > > Thank you for trying to help. Sure, if I have some > > > > findings I'll share > > > > > with the list. > > > > > > > > > > alex > > > > > > > > > > > -----Original Message----- > > > > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > > > > > Sent: Thursday, May 23, 2002 10:55 PM > > > > > > To: [EMAIL PROTECTED] > > > > > > Cc: Tapestry Developer > > > > > > Subject: RE: [Tapestry-developer] Remote EJB interface as > > > > persistent > > > > > > property > > > > > > > > > > > > > > > > > > I'm not aware of any weakness in Tapestry that wouldn't > > > > > > affect Struts as well. When you redeploy a Struts-based > > > > > > WAR, you'll still be getting a new class loader, and > > > > > > some data you've stuffed into the HttpSession will no > > > > > > longer be usable. > > > > > > > > > > > > If you find otherwise, please check back with your > > > > > > findings. > > > > > > > > > > > > -- > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > http://tapestry.sf.net > > > > > > > Well, I've come to conclusion that Tapestrty-2.0.1 and > > > > > > JBoss-3.x/Tomcat > > > > > > > isn't compatible for now (I tried JBoss-3.0-RC3 and latest > > > > > > 3.1.0alpha) on > > > > > > > Win2000 with j2sdk-1.4.0. > > > > > > > By that I mean working with EJB's. > > > > > > > > > > > > > > Please, if someone got it working let me know. For now I > > > > > > don't see another > > > > > > > choice like get back to struts. > > > > > > > > > > > > > > pity, pity, pity.... > > > > > > > > > > > > > > alex > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: [EMAIL PROTECTED] > > > > > > > > [mailto:[EMAIL PROTECTED]]On > > > > > > Behalf Of > > > > > > > > [EMAIL PROTECTED] > > > > > > > > Sent: Thursday, May 23, 2002 4:46 PM > > > > > > > > To: [EMAIL PROTECTED] > > > > > > > > Cc: Tapestry Developer > > > > > > > > Subject: RE: [Tapestry-developer] Remote EJB interface as > > > > > > persistent > > > > > > > > property > > > > > > > > > > > > > > > > > > > > > > > > I just tried this using Jetty/JBoss and the Vlib.ear. > > > > > > > > > > > > > > > > I couldn't reproduce your problem because redeploying > > > > > > > > the Vlib.ear invalidated my session. This is a very > > > > > > > > sensible thing to do since it sidesteps class loader > > > > > > > > issues. I'm pretty sure its the standard approach taken > > > > > > > > by most application servers (including WebLogic). > > > > > > > > > > > > > > > > I'm sorry that with my limited resources I can't > > > > > > > > validate Tapestry against more configurations of servlet > > > > > > > > container and application server. This is an area where > > > > > > > > the help of the community is needed. > > > > > > > > > > > > > > > > -- > > > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > http://tapestry.sf.net > > > > > > > > > I think I just have no other choice :) I have been > > > > > > > > struggling two days > > > > > > > > > with the problem. I'll try to run VLib and let you know. > > > > > > > > > > > > > > > > > > Thank you for the help, Howard. > > > > > > > > > > > > > > > > > > alex > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > > > > > > > > > Sent: Thursday, May 23, 2002 4:24 PM > > > > > > > > > > To: [EMAIL PROTECTED] > > > > > > > > > > Cc: Tapestry Developer > > > > > > > > > > Subject: RE: [Tapestry-developer] Remote EJB > > interface as > > > > > > > > persistent > > > > > > > > > > property > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hm. Can you deploy the Vlib in this same application > > > > > > > > > > server configuration? > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > http://tapestry.sf.net > > > > > > > > > > > Tom, > > > > > > > > > > > > > > > > > > > > > > here it is. I got back that exception again. > > > > > > > > > > > > > > > > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > > > > > > > > > > > > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > > > > > > > > > > orImpl.java:39 > > > > > > > > > > > ) > > > > > > > > > > > > > > > > > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > > > > > > > > > > odAccessorImpl > > > > > > > > > > > .java:25) > > > > > > > > > > > java.lang.reflect.Method.invoke(Method.java:324) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.util.prop.PropertyAccessor.set(PropertyAcc > > > > > > > > > > essor.java:169 > > > > > > > > > > > ) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.util.prop.PropertyHelper.set(PropertyHelpe > > > > > > > > > > r.java:586) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.record.PageRecorder.rollback(PageRecorder. > > > > > > > > > > java:222) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.engine.RequestCycle.getPage(RequestCycle.java:257) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.engine.PageService.service(PageService.java:92) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.engine.AbstractEngine.service(AbstractEngi > > > > > > > > > > ne.java:706) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.ApplicationServlet.doService(ApplicationSe > > > > > > > > > > rvlet.java:203 > > > > > > > > > > > ) > > > > > > > > > > > > > > > > > > > > > > > > > com.primix.tapestry.ApplicationServlet.doGet(ApplicationServle > > > > > > > > > > t.java:168) > > > > > > > > > > > > > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > > > > > > > > > > > > > > > > > > > > > > Hope, it's enough. Further follows catalina's stack. > > > > > > > > > > > > > > > > > > > > > > And this is my getCatalog(): > > > > > > > > > > > public Catalog getCatalog() { > > > > > > > > > > > > > > > > > > > > > > if(catalog == null) { > > > > > > > > > > > MTCatalogEngine engine = > > > > (MTCatalogEngine)getEngine(); > > > > > > > > > > > for(int i = 0; i < 2; ++i) { > > > > > > > > > > > try { > > > > > > > > > > > CatalogHome catalogHome = > > > > engine.getCatalogHome(); > > > > > > > > > > > setCatalog(catalogHome.create()); > > > > > > > > > > > break; > > > > > > > > > > > } catch(CreateException ce) { > > > > > > > > > > > throw new ApplicationRuntimeException(ce); > > > > > > > > > > > } catch(RemoteException re) { > > > > > > > > > > > engine.rmiFailure("Remote > > exception creating > > > > > > > > > > Catalog", re, i > 0); > > > > > > > > > > > } > > > > > > > > > > > } > > > > > > > > > > > } > > > > > > > > > > > return catalog; > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > Please, any hints would greatly appreciated. > > > > > > > > > > > > > > > > > > > > > > TIA, > > > > > > > > > > > > > > > > > > > > > > alex > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > From: > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > [mailto:[EMAIL PROTECTED]]On > > > > > > > > > > > > Behalf Of Tom > > > > > > > > > > > > Davies > > > > > > > > > > > > Sent: Thursday, May 23, 2002 3:44 PM > > > > > > > > > > > > Cc: 'Tapestry-Developer (E-mail) > > > > > > > > > > > > Subject: Re: [Tapestry-developer] Remote EJB > > > > interface as > > > > > > > > > > persistent > > > > > > > > > > > > property > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Alex Loubyansky wrote: > > > > > > > > > > > > > Hi, all. > > > > > > > > > > > > > > > > > > > > > > > > > > Do someone have any thoughts on what the > > > > > > cause for this > > > > > > > > > > > > exception could > > > > > > > > > > > > > be? > > > > > > > > > > > > > Name: > > com.primix.tapestry.record.RollbackException > > > > > > > > > > > > > Message: Unable to set property catalog > > of component > > > > > > > > > > > > CategoryManager to > > > > > > > > > > > > > tracker/ejb/Catalog:Stateless. > > > > > > > > > > > > > componentId: CategoryManager newValue: > > > > > > > > > > tracker/ejb/Catalog:Stateless > > > > > > > > > > > > > propertyName: catalog > > > > > > > > > > > > > > > > > > > > > > > > > > Name: > > > > > > com.primix.tapestry.util.DynamicInvocationException > > > > > > > > > > > > > Message: Could not invoke method getCatalog on > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > com.imedia.tracker.web.pages.CategoryManager@45bb9d[CategoryManager]. > > > > > > > > > > > > > Name: java.lang.IllegalArgumentException > > > > > > > > > > > > > Message: argument type mismatch Trace: > > > > > > > > > > > > > > > > > > > > > > > > > > Catalog is a remote stateless session bean. I > > > > > > handle it > > > > > > > > > > > > like IBookQuery in > > > > > > > > > > > > > VLib tutorial. Please, if anyone have > > some thoughts > > > > > > > > let me know. > > > > > > > > > > > > > > > > > > > > > > > > What're the first few stack frames, and what's the > > > > > > > > signature of > > > > > > > > > > > > getCatalog()? > > > > > > > > > > > > > > > > > > > > > > > > Tom > > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > No, I will not fix your computer. > > http://thinkgeek.com/sf > > _______________________________________________ > > Tapestry-developer mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/tapestry-developer > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > No, I will not fix your computer. > http://thinkgeek.com/sf > _______________________________________________ > Tapestry-developer mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/tapestry-developer ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Bringing you mounds of caffeinated joy. http://thinkgeek.com/sf _______________________________________________ Tapestry-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/tapestry-developer
