RE: Use System ClassLoader with Tapestry5
Hi, I'm a dwr user not a tapestry user... I usually only listen on this list. To do this you would need to implement a tapestry creator (http://getahead.org/dwr/server/dwrxml/creators). See the org.directwebremoting.spring.SpringCreator for inspiration. You would probably want to hook into tapestry's page pooling / page initialization instead of calling PageClass.newInstance()... can't help you there sorry. Please consider submitting your solution to the dwr users list for inclusion in the project http://getahead.org/dwr/support. Cheers, Lance. -Original Message- From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] Sent: 14 January 2008 16:03 To: Tapestry users Subject: Re: Use System ClassLoader with Tapestry5 Tricky. The class loader Tapestry uses does two different things: - Transforms the class (for injections, parameters, and lots of other stuff) - Handles reloading of classes when they change When a .class file on the disk changes, Tapestry will actually discard the class loader and create a new one. I suspect you are going to have to go into the internals of DWR and Tapestry in order to get this to work properly. You can inject the @ComponentLayer ClassLoader and obtain the current ClassLoader from it. On Jan 14, 2008 2:29 AM, Yeeswara Nadapana (HCL Financial Services) [EMAIL PROTECTED] wrote: Hi, I am building a Tapestry 5 application. It is using a Tapestry specific ClassLoader called org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$P ackageAwareLoader to load all the classes. I am trying to use an DWR call to method on my Page class, where its using System ClassLoader to load that class. There starts the problem. Its not loading some library files which I already loaded by my Tapestry ClassLoader. Is there any way to customize my Tapestry application to use generic System ClassLoader to load all the classes. Please help Thanks and Regards Yeeswara N DISCLAIMER: --- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. --- -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Use System ClassLoader with Tapestry5
Hi, I am building a Tapestry 5 application. It is using a Tapestry specific ClassLoader called org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$P ackageAwareLoader to load all the classes. I am trying to use an DWR call to method on my Page class, where its using System ClassLoader to load that class. There starts the problem. Its not loading some library files which I already loaded by my Tapestry ClassLoader. Is there any way to customize my Tapestry application to use generic System ClassLoader to load all the classes. Please help Thanks and Regards Yeeswara N DISCLAIMER: --- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. ---
Re: Use System ClassLoader with Tapestry5
Tricky. The class loader Tapestry uses does two different things: - Transforms the class (for injections, parameters, and lots of other stuff) - Handles reloading of classes when they change When a .class file on the disk changes, Tapestry will actually discard the class loader and create a new one. I suspect you are going to have to go into the internals of DWR and Tapestry in order to get this to work properly. You can inject the @ComponentLayer ClassLoader and obtain the current ClassLoader from it. On Jan 14, 2008 2:29 AM, Yeeswara Nadapana (HCL Financial Services) [EMAIL PROTECTED] wrote: Hi, I am building a Tapestry 5 application. It is using a Tapestry specific ClassLoader called org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$P ackageAwareLoader to load all the classes. I am trying to use an DWR call to method on my Page class, where its using System ClassLoader to load that class. There starts the problem. Its not loading some library files which I already loaded by my Tapestry ClassLoader. Is there any way to customize my Tapestry application to use generic System ClassLoader to load all the classes. Please help Thanks and Regards Yeeswara N DISCLAIMER: --- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. --- -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]