Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
if the jetty classloader is able to load that class then you have a wrong configuration. Jetty shouldn't be able to load the classes at all, those classes shouldn't be in the webapp classpath johan On 7/12/07, Watter <[EMAIL PROTECTED]> wrote: Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> I created a small demo application that demonstrates the >> problem? Is there somewhere I can upload the zip file (it uses >> maven so it's only 7kb) with some instructions on the steps >> necessary to recreate the problem? I hate to open a bug in JIRA >> for this seeing as how it's most likely a misconfiguration error >> on my part and not really a bug in Wicket. > > Please file a JIRA issue, and I'll look into it. As I suggested > in this thread, I think the problem is caused by the page being > de-serialized from the file store. > The issue has been created. https://issues.apache.org/jira/browse/WICKET-749 Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11559120 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> I created a small demo application that demonstrates the >> problem? Is there somewhere I can upload the zip file (it uses >> maven so it's only 7kb) with some instructions on the steps >> necessary to recreate the problem? I hate to open a bug in JIRA >> for this seeing as how it's most likely a misconfiguration error >> on my part and not really a bug in Wicket. > > Please file a JIRA issue, and I'll look into it. As I suggested > in this thread, I think the problem is caused by the page being > de-serialized from the file store. > The issue has been created. https://issues.apache.org/jira/browse/WICKET-749 Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11559120 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > I created a small demo application that demonstrates the > problem? Is there somewhere I can upload the zip file (it uses > maven so it's only 7kb) with some instructions on the steps > necessary to recreate the problem? I hate to open a bug in JIRA > for this seeing as how it's most likely a misconfiguration error > on my part and not really a bug in Wicket. Please file a JIRA issue, and I'll look into it. As I suggested in this thread, I think the problem is caused by the page being de-serialized from the file store. Cheers, -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Watter wrote: > > > Jean-Baptiste Quenot-3 wrote: >> >> * Watter: >> >>> 1) I realized that "ContextLoader" which is the reported as the >>> classloader when I do a Session.class.getClassloader() right >>> before the error occurs is actually a Spring class. For some >>> reason I was thinking that it was a standard Java class >>> loader. I am using Spring in my application, but from the >>> web tier, I only access my Spring beans using the approved >>> @SpringBean annotation. Does that fact that this is a Spring >>> class tell me anything useful? >> >> Do you obtain your WebApplication or your WebSession from Spring's >> WebApplicationContext? If this is the case, that's not compatible >> with the reloading mechanism. >> >> Otherwise, about the annotations, I haven't tried to work with >> them yet. I'll test this combination during the next weeks. >> > I think I was incorrect in assuming this had anything to do with Spring. I > removed Spring from the picture completely and I was still able to > recreate the same ClassCastExceptions. > > Here's some additional information that may or may not be useful. The > reason why the cast isn't working is because the stored custom WebSession > class is from the RelaodingClassLoader but the class requesting the > session (a page class) is using the Jetty's normal classloader. The > question is, then, why is that page class being loaded using the normal > classloader? Normally it isn't. In most normal situations, that page class > is being loaded by the ReloadingClasLoader. It only seems to be loaded by > the normal classloader after I've used my browser back button and then > clicked the link which load it. > > I've also found that after making a change to page and recompiling, the > changed page class is occasionally loaded by the normal classloader as > well. I havent' figured out how to recreate this behavior reliably, > though. > I created a small demo application that demonstrates the problem? Is there somewhere I can upload the zip file (it uses maven so it's only 7kb) with some instructions on the steps necessary to recreate the problem? I hate to open a bug in JIRA for this seeing as how it's most likely a misconfiguration error on my part and not really a bug in Wicket. Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11552954 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> 1) I realized that "ContextLoader" which is the reported as the >> classloader when I do a Session.class.getClassloader() right >> before the error occurs is actually a Spring class. For some >> reason I was thinking that it was a standard Java class >> loader. I am using Spring in my application, but from the >> web tier, I only access my Spring beans using the approved >> @SpringBean annotation. Does that fact that this is a Spring >> class tell me anything useful? > > Do you obtain your WebApplication or your WebSession from Spring's > WebApplicationContext? If this is the case, that's not compatible > with the reloading mechanism. > > Otherwise, about the annotations, I haven't tried to work with > them yet. I'll test this combination during the next weeks. > I think I was incorrect in assuming this had anything to do with Spring. I removed Spring from the picture completely and I was still able to recreate the same ClassCastExceptions. Here's some additional information that may or may not be useful. The reason why the cast isn't working is because the stored custom WebSession class is from the RelaodingClassLoader but the class requesting the session (a page class) is using the Jetty's normal classloader. The question is, then, why is that page class being loaded using the normal classloader? Normally it isn't. In most normal situations, that page class is being loaded by the ReloadingClasLoader. It only seems to be loaded by the normal classloader after I've used my browser back button and then clicked the link which load it. I've also found that after making a change to page and recompiling, the changed page class is occasionally loaded by the normal classloader as well. I havent' figured out how to recreate this behavior reliably, though. -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11552663 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> 1) I realized that "ContextLoader" which is the reported as the >> classloader when I do a Session.class.getClassloader() right >> before the error occurs is actually a Spring class. For some >> reason I was thinking that it was a standard Java class >> loader. I am using Spring in my application, but from the >> web tier, I only access my Spring beans using the approved >> @SpringBean annotation. Does that fact that this is a Spring >> class tell me anything useful? > > Do you obtain your WebApplication or your WebSession from Spring's > WebApplicationContext? If this is the case, that's not compatible > with the reloading mechanism. > > Otherwise, about the annotations, I haven't tried to work with > them yet. I'll test this combination during the next weeks. > The only items I obtain from Spring's Application context are my service tier repositories and services. Thanks for the reply and good luck in your testing. Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11546791 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > 1) I realized that "ContextLoader" which is the reported as the > classloader when I do a Session.class.getClassloader() right > before the error occurs is actually a Spring class. For some > reason I was thinking that it was a standard Java class > loader. I am using Spring in my application, but from the > web tier, I only access my Spring beans using the approved > @SpringBean annotation. Does that fact that this is a Spring > class tell me anything useful? Do you obtain your WebApplication or your WebSession from Spring's WebApplicationContext? If this is the case, that's not compatible with the reloading mechanism. Otherwise, about the annotations, I haven't tried to work with them yet. I'll test this combination during the next weeks. -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Watter wrote: > > > Jean-Baptiste Quenot-3 wrote: >> >> That's very interesting. It may be caused by some page >> deserialization not using the right classloader, when Wicket pulls >> pages out of the second-level cache. May be worth trying with >> org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new >> WicketObjectStreamFactory()) >> > When I do this, I get "Page Expired" errors after using my back button and > then clicking a link. This happens regardless of what I'm doing with > reloading (i.e. disabled or enabled). When I switch to the default JDK > serialization or just don't specify anything for serialization, things > work as expected with reloading disabled but I get the same > ClassCastException as before with reloading enabled. > > Does the fact that I'm seeing Page Expired errors with > WicketObjectStreamFactory indicate that I have another issue that's > unrelated to the reloading filter that I need to fix? > Ok, after a week of trying to develop without use of the ReloadingWicketFilter I'm pulling my hair out. Once you've experienced the beauty that is easy hot reloading of the classes and HTML files, it's impossible to go back. So here I am trying again to solve this issue. I've noticed a few things that may or may not be helpful. 1) I realized that "ContextLoader" which is the reported as the classloader when I do a Session.class.getClassloader() right before the error occurs is actually a Spring class. For some reason I was thinking that it was a standard Java class loader. I am using Spring in my application, but from the web tier, I only access my Spring beans using the approved @SpringBean annotation. Does that fact that this is a Spring class tell me anything useful? 2) I tried the "org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new WicketObjectStreamFactory())" suggestion again and this time I had different results. It all worked fine until the same point where I had previously gotten the ClassCastErrors on my Session object. With this WicketObjectStreamFactory() change I instead get the following exception at that same point: java.lang.NullPointerException at org.apache.wicket.util.io.ClassStreamHandler.createObject(ClassStreamHandler.java:304) at org.apache.wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:93) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342) at org.apache.wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:872) at org.apache.wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:417) at org.apache.wicket.util.io.WicketObjectInputStream.defaultReadObject(WicketObjectInputStream.java:164) at org.apache.wicket.protocol.http.FilePageStore$PageSerializer.deserializePage(FilePageStore.java:874) at org.apache.wicket.Page.readObject(Page.java:1260) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.wicket.util.io.ClassStreamHandler.invokeReadMethod(ClassStreamHandler.java:492) at org.apache.wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:396) at org.apache.wicket.protocol.http.FilePageStore.readPage(FilePageStore.java:541) at org.apache.wicket.protocol.http.FilePageStore.getPage(FilePageStore.java:455) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:192) at org.apache.wicket.Session.getPage(Session.java:725) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:427) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1090) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176) at org.apache.wicket.RequestCycle.request(RequestCycle.java:499) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:257) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handl
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: >> >> Most of the time the following holds true when I reach that statement: >> >> Session.get().getClass().getClassLoader() = >> org.apache.wicket.application.ReloadingClassLoader >> FusionAuthenticatedWebSession.class.getClassLoader() = >> org.apache.wicket.application.ReloadingClassLoader >> >> >> However, when I am use the behaviour described earlier in the thread >> (browser back button, click any link), I instead see that the following >> with >> that cast: >> >> Session.get().getClass().getClassLoader() = >> org.apache.wicket.application.ReloadingClassLoader >> FusionAuthenticatedWebSession.class.getClassLoader() = ContextLoader >> > > That's very interesting. It may be caused by some page > deserialization not using the right classloader, when Wicket pulls > pages out of the second-level cache. May be worth trying with > org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new > WicketObjectStreamFactory()) > When I do this, I get "Page Expired" errors after using my back button and then clicking a link. This happens regardless of what I'm doing with reloading (i.e. disabled or enabled). When I switch to the default JDK serialization or just don't specify anything for serialization, things work as expected with reloading disabled but I get the same ClassCastException as before with reloading enabled. Does the fact that I'm seeing Page Expired errors with WicketObjectStreamFactory indicate that I have another issue that's unrelated to the reloading filter that I need to fix? -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11411673 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > > Most of the time the following holds true when I reach that statement: > > Session.get().getClass().getClassLoader() = > org.apache.wicket.application.ReloadingClassLoader > FusionAuthenticatedWebSession.class.getClassLoader() = > org.apache.wicket.application.ReloadingClassLoader > > > However, when I am use the behaviour described earlier in the thread > (browser back button, click any link), I instead see that the following with > that cast: > > Session.get().getClass().getClassLoader() = > org.apache.wicket.application.ReloadingClassLoader > FusionAuthenticatedWebSession.class.getClassLoader() = ContextLoader > That's very interesting. It may be caused by some page deserialization not using the right classloader, when Wicket pulls pages out of the second-level cache. May be worth trying with org.apache.wicket.util.lang.Objects.setObjectStreamFactory(new WicketObjectStreamFactory()) -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > It means com.ptc.fusion.web.FusionAuthenticatedWebSession is > already loaded in other classes that did not match the inclusion > patterns. > > To debug your usecase, set a conditional breakpoint in > ReloadingClassLoader.loadClass() when class name is > com.ptc.fusion.web.FusionAuthenticatedWebSession. Maybe I could > also add some debug log statements to help you diagnose. > > Sometimes it is really difficult to understand where your class is > loaded from. > Again, thanks so much for your help. I followed your suggestion and it seems that FusionAuthenticatedWebSession is only ever loaded once. Another person posted a thread with a similar experience, but his issue was not related to the use of ReloadingWicketFilter. He suggested I look at the following just before the cast which is causing the problem. The cast is: (FusionAuthenticatedWebSession) Session.get(); Most of the time the following holds true when I reach that statement: Session.get().getClass().getClassLoader() = org.apache.wicket.application.ReloadingClassLoader FusionAuthenticatedWebSession.class.getClassLoader() = org.apache.wicket.application.ReloadingClassLoader However, when I am use the behaviour described earlier in the thread (browser back button, click any link), I instead see that the following with that cast: Session.get().getClass().getClassLoader() = org.apache.wicket.application.ReloadingClassLoader FusionAuthenticatedWebSession.class.getClassLoader() = ContextLoader Well, sure enough. That's the cause of my problem. Unfortunately, it doesn't bring me any closer to understanding why. It doesn't appear that I'm loading the session from anywhere except my reloadable classes. As a matter of fact, "new FusionAuthenticatedWebSession" only shows up once in a search through in my entire application. Is there a place where this session gets loaded by wicket classes? Even then, I'm not sure if that's the answer because I actually included "org.apache.wicket*" in my Reloadable filter for one run of the application and I still encountered the issue. Call me stumped. -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11392701 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
ptrthomas wrote: > > On 6/28/07, Watter <[EMAIL PROTECTED]> wrote: > A couple of observations. Looks like you are using Acegi as well. I have > the same problem when I don't exclude my Session and Application classes. > Actually, we aren't using Acegi. That class you're looking it is named similar to what Acegi uses because the person who wrote it happened to have looked at some Acegi LDAP code as a reference for our own implementation. > I am able to proceed now with the following: > > ReloadingClassLoader.includePattern("info.jtrac.wicket.*"); > ReloadingClassLoader.excludePattern(" > info.jtrac.wicket.JtracApplication"); > > ReloadingClassLoader.excludePattern("info.jtrac.wicket.JtracSession > "); > > ReloadingClassLoader.excludePattern("info.jtrac.wicket.DashboardPage"); > // this the home page > // ReloadingClassLoader.excludePattern("org.springframework.*"); > // ReloadingClassLoader.excludePattern("org.acegisecurity.*"); > > I know this goes completely opposite to what Jean-Baptiste Quenot advises, > but this is what is working. Let me try summarize, I started having > problems (I think same case with you Matt?) when I got a recent version of > the snapshot and I raised the JIRA issue > https://issues.apache.org/jira/browse/WICKET-685 > > I thought the problem was solved when I excluded "org.springframework". > The > "Markup of type 'html' for component not found" problem went away, so I > closed the JIRA issue. But later I found that the effect of > ReloadingWicketFilter was nullified - i.e. after changing code and > refreshing the page I was getting ClassCastException straight away. > > Thanks for the information. I'll consider this, however I'm going to first try the the debugging suggestion made by Jean-Baptiste. Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11345518 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > > > > Jean-Baptiste Quenot-3 wrote: > > > > * Watter: > > > >> With that, I can get past the error I reported > >> earlier. Unfortunately, I'm seeing something else now. If I go > >> to a page, then use my browser back button to go back a page, > >> and then click on any other link, I get a ClassCastException for > >> FusionAuthenticatedWebSession: > > > > If you don't paste the include/exclude patterns, it will be very > > hard to help you. > > > You're right, of course. Here is all the relevant information I can think > of, and thank you for your help. > > Wicket Version: latest 1.3.0-incubating-SNAPSHOT from wicketstuff maven > repository > > ReloadingFilter Patterns: > > > ReloadingClassLoader.includePattern("com.ptc.fusion.web.FusionAuthenticatedWebSession*"); > > ReloadingClassLoader.includePattern("com.ptc.fusion.web.FusionWebApplication*"); > ReloadingClassLoader.includePattern("com.ptc.fusion.web.pages*"); > ReloadingClassLoader.includePattern("com.ptc.fusion.web.security*"); > ReloadingClassLoader.includePattern("com.ptc.fusion.web.dataprovider*"); > > (the * after FusionWebApplication was added at your suggestion and allowed > me to revert back to overriding getSessionFactory()) > > Here are some important parts of the FusionAuthenticatedWebSession: > > public class FusionAuthenticatedWebSession extends WebSession { > > private static final long serialVersionUID = 1L; > private User user; > > @SpringBean(name = "ldapauthenticationManager") > AuthenticationProvider ldapAuthenticationProvider; > > @SpringBean(name = "daoauthenticationManager") > AuthenticationProvider daoAuthenticationProvider; > > @SpringBean(name = "webSettings") > private WebSettings webSettings; > > > > public FusionAuthenticatedWebSession(WebApplication application, Request > request) { > super(application, request); > InjectorHolder.getInjector().inject(this); > } > > public static FusionAuthenticatedWebSession get() { > return (FusionAuthenticatedWebSession) Session.get(); > } > > /** True when the user is signed in */ > private boolean signedIn; > > public boolean authenticate(final String username, final String > password) { > //do some authentication work > } > > public final boolean signIn(final String username, final String > password) { > signedIn = authenticate(username, password); > return signedIn; > } > > > /* Accessors */ > public final boolean isSignedIn() { > return signedIn; > } > > public User getUser() { > return user; > } > } > > I call the get() method of this class in a few places and it's that call > that causes the error when using the ReloadingFilter and after I hit the > back button. > > WicketMessage: Method onLinkClicked of interface > org.apache.wicket.markup.html.link.ILinkListener targeted at component > [MarkupContainer [Component id = listOrganizationLink, page = > com.ptc.fusion.web.pages.user.ListUsers, path = > 77:adminMenuItems:listOrganizationLink.PageLink, isVisible = true, > isVersioned = true]] threw an exception > > Root cause: > > java.lang.ClassCastException: > com.ptc.fusion.web.FusionAuthenticatedWebSession It means com.ptc.fusion.web.FusionAuthenticatedWebSession is already loaded in other classes that did not match the inclusion patterns. To debug your usecase, set a conditional breakpoint in ReloadingClassLoader.loadClass() when class name is com.ptc.fusion.web.FusionAuthenticatedWebSession. Maybe I could also add some debug log statements to help you diagnose. Sometimes it is really difficult to understand where your class is loaded from. -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
On 6/28/07, Watter <[EMAIL PROTECTED]> wrote: Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> With that, I can get past the error I reported >> earlier. Unfortunately, I'm seeing something else now. If I go >> to a page, then use my browser back button to go back a page, >> and then click on any other link, I get a ClassCastException for >> FusionAuthenticatedWebSession: > > If you don't paste the include/exclude patterns, it will be very > hard to help you. > You're right, of course. Here is all the relevant information I can think of, and thank you for your help. Wicket Version: latest 1.3.0-incubating-SNAPSHOT from wicketstuff maven repository ReloadingFilter Patterns: ReloadingClassLoader.includePattern(" com.ptc.fusion.web.FusionAuthenticatedWebSession*"); ReloadingClassLoader.includePattern(" com.ptc.fusion.web.FusionWebApplication*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.pages*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.security* "); ReloadingClassLoader.includePattern(" com.ptc.fusion.web.dataprovider*"); (the * after FusionWebApplication was added at your suggestion and allowed me to revert back to overriding getSessionFactory()) Here are some important parts of the FusionAuthenticatedWebSession: public class FusionAuthenticatedWebSession extends WebSession { private static final long serialVersionUID = 1L; private User user; @SpringBean(name = "ldapauthenticationManager") AuthenticationProvider ldapAuthenticationProvider; @SpringBean(name = "daoauthenticationManager") AuthenticationProvider daoAuthenticationProvider; @SpringBean(name = "webSettings") private WebSettings webSettings; A couple of observations. Looks like you are using Acegi as well. I have the same problem when I don't exclude my Session and Application classes. I am able to proceed now with the following: ReloadingClassLoader.includePattern("info.jtrac.wicket.*"); ReloadingClassLoader.excludePattern(" info.jtrac.wicket.JtracApplication"); ReloadingClassLoader.excludePattern("info.jtrac.wicket.JtracSession "); ReloadingClassLoader.excludePattern("info.jtrac.wicket.DashboardPage"); // this the home page // ReloadingClassLoader.excludePattern("org.springframework.*"); // ReloadingClassLoader.excludePattern("org.acegisecurity.*"); I know this goes completely opposite to what Jean-Baptiste Quenot advises, but this is what is working. Let me try summarize, I started having problems (I think same case with you Matt?) when I got a recent version of the snapshot and I raised the JIRA issue https://issues.apache.org/jira/browse/WICKET-685 I thought the problem was solved when I excluded "org.springframework". The "Markup of type 'html' for component not found" problem went away, so I closed the JIRA issue. But later I found that the effect of ReloadingWicketFilter was nullified - i.e. after changing code and refreshing the page I was getting ClassCastException straight away. Anyway now things are back to how they were working for me with this change: excluding the home page also. Jean-Baptiste: Is there any chance that whatever change was made to classloading could be undone? Thanks, Peter. public FusionAuthenticatedWebSession(WebApplication application, Request request) { super(application, request); InjectorHolder.getInjector().inject(this); } public static FusionAuthenticatedWebSession get() { return (FusionAuthenticatedWebSession) Session.get(); } /** True when the user is signed in */ private boolean signedIn; public boolean authenticate(final String username, final String password) { //do some authentication work } public final boolean signIn(final String username, final String password) { signedIn = authenticate(username, password); return signedIn; } /* Accessors */ public final boolean isSignedIn() { return signedIn; } public User getUser() { return user; } } I call the get() method of this class in a few places and it's that call that causes the error when using the ReloadingFilter and after I hit the back button. WicketMessage: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = listOrganizationLink, page = com.ptc.fusion.web.pages.user.ListUsers, path = 77:adminMenuItems:listOrganizationLink.PageLink, isVisible = true, isVersioned = true]] threw an exception Root cause: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession at com.ptc.fusion.web.FusionAuthenticatedWebSession.get( FusionAuthenticatedWebSession.java:43) at com.ptc.fusion.web.pages.tem
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> With that, I can get past the error I reported >> earlier. Unfortunately, I'm seeing something else now. If I go >> to a page, then use my browser back button to go back a page, >> and then click on any other link, I get a ClassCastException for >> FusionAuthenticatedWebSession: > > If you don't paste the include/exclude patterns, it will be very > hard to help you. > You're right, of course. Here is all the relevant information I can think of, and thank you for your help. Wicket Version: latest 1.3.0-incubating-SNAPSHOT from wicketstuff maven repository ReloadingFilter Patterns: ReloadingClassLoader.includePattern("com.ptc.fusion.web.FusionAuthenticatedWebSession*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.FusionWebApplication*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.pages*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.security*"); ReloadingClassLoader.includePattern("com.ptc.fusion.web.dataprovider*"); (the * after FusionWebApplication was added at your suggestion and allowed me to revert back to overriding getSessionFactory()) Here are some important parts of the FusionAuthenticatedWebSession: public class FusionAuthenticatedWebSession extends WebSession { private static final long serialVersionUID = 1L; private User user; @SpringBean(name = "ldapauthenticationManager") AuthenticationProvider ldapAuthenticationProvider; @SpringBean(name = "daoauthenticationManager") AuthenticationProvider daoAuthenticationProvider; @SpringBean(name = "webSettings") private WebSettings webSettings; public FusionAuthenticatedWebSession(WebApplication application, Request request) { super(application, request); InjectorHolder.getInjector().inject(this); } public static FusionAuthenticatedWebSession get() { return (FusionAuthenticatedWebSession) Session.get(); } /** True when the user is signed in */ private boolean signedIn; public boolean authenticate(final String username, final String password) { //do some authentication work } public final boolean signIn(final String username, final String password) { signedIn = authenticate(username, password); return signedIn; } /* Accessors */ public final boolean isSignedIn() { return signedIn; } public User getUser() { return user; } } I call the get() method of this class in a few places and it's that call that causes the error when using the ReloadingFilter and after I hit the back button. WicketMessage: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = listOrganizationLink, page = com.ptc.fusion.web.pages.user.ListUsers, path = 77:adminMenuItems:listOrganizationLink.PageLink, isVisible = true, isVersioned = true]] threw an exception Root cause: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession at com.ptc.fusion.web.FusionAuthenticatedWebSession.get(FusionAuthenticatedWebSession.java:43) at com.ptc.fusion.web.pages.template.FusionTemplate$AdminMenuItems.(FusionTemplate.java:136) at com.ptc.fusion.web.pages.template.FusionTemplate.(FusionTemplate.java:71) at com.ptc.fusion.web.pages.ListOrganization.(ListOrganization.java:35) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:58) at org.apache.wicket.markup.html.link.PageLink$1.getPage(PageLink.java:66) at org.apache.wicket.markup.html.link.PageLink.onClick(PageLink.java:153) at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:222) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:186) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1031) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176) at org.apache.wicket.RequestCycle.request(RequestCycle.java:499) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:257) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > With that, I can get past the error I reported > earlier. Unfortunately, I'm seeing something else now. If I go > to a page, then use my browser back button to go back a page, > and then click on any other link, I get a ClassCastException for > FusionAuthenticatedWebSession: If you don't paste the include/exclude patterns, it will be very hard to help you. Don't forget the inner classes when you write the patterns, for example this will not work: com.company.wicket.Application You need to do: com.company.wicket.Application* to match both com.company.wicket.Application and com.company.wicket.Application$1 -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
On 6/28/07, Watter <[EMAIL PROTECTED]> wrote: Watter wrote: > > I now have a new issue. Jean-Baptiste mentions in the JIRA issue that one > *must* include the XxxApplication and XxxSession classes. Well, when I > tried to do so I was unable to access my application. When I included the > my versions of those classes, I received the following: > > java.lang.IllegalAccessError: tried to access class > com.ptc.fusion.web.FusionWebApplication$1 from class > com.ptc.fusion.web.FusionWebApplication > at > com.ptc.fusion.web.FusionWebApplication.getSessionFactory( FusionWebApplication.java:137) > > The code at that location is: > > protected final ISessionFactory getSessionFactory() { > return new ISessionFactory() { > private static final long serialVersionUID = 1L; > public Session newSession(Request request, Response response) { > return new FusionAuthenticatedWebSession( FusionWebApplication.this, > request); > } > }; > } > > It seems that there may be a problem with my using > "FusionWebApplication.this" in the inner class. Is there way around this? > Perhaps another way to refer to the parent class? > I think I found a workaround for at least part of the problem. It seems that I can override newSession() instead of getSessionFactory() with something like this: public Session newSession(Request request, Response response) { return new FusionAuthenticatedWebSession(this, request); } With that, I can get past the error I reported earlier. Unfortunately, I'm seeing something else now. If I go to a page, then use my browser back button to go back a page, and then click on any other link, I get a ClassCastException for FusionAuthenticatedWebSession: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession I retrieve the session in my base page to check a few user variables. It's there that I get the ClassCastException. Here's the actual code: User user = ((FusionAuthenticatedWebSession)Session.get()).getUser(); I'll paste the entire stack trace at the end of the message. As I said, this only happens after using my back button and then clicking on a link as far as I can tell. Anyway, if anyone has any ideas, they'd be much appreciated. Thanks, Matt Good to hear that the wildcard applies to all characters and you don't have to explicitly exclude all sub packages. I was of course trying all kinds of options as I was deperate at the time : ) I actually continued to have problems after closing the JIRA issue, but realized only after submitting the login page and getting a reference to the session User very similar to your case. But then I realized I had Acegi also in the works so after excluding org.acegisecurity.* things are fine. Maybe something similar for you also. Thanks, Peter. --- WicketMessage: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = listOrganizationLink, page = com.ptc.fusion.web.pages.user.ListUsers, path = 77:adminMenuItems:listOrganizationLink.PageLink, isVisible = true, isVersioned = true]] threw an exception Root cause: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession at com.ptc.fusion.web.FusionAuthenticatedWebSession.get( FusionAuthenticatedWebSession.java:43) at com.ptc.fusion.web.pages.template.FusionTemplate$AdminMenuItems.( FusionTemplate.java:136) at com.ptc.fusion.web.pages.template.FusionTemplate.( FusionTemplate.java:71) at com.ptc.fusion.web.pages.ListOrganization.(ListOrganization.java:35) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at org.apache.wicket.session.DefaultPageFactory.newPage( DefaultPageFactory.java:58) at org.apache.wicket.markup.html.link.PageLink$1.getPage(PageLink.java:66) at org.apache.wicket.markup.html.link.PageLink.onClick(PageLink.java:153) at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:222) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.wicket.RequestListenerInterface.invoke( RequestListenerInterface.java:186) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents (ListenerInterfaceRequestTarget.java:73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents( AbstractRequestCycleProcessor.java:90) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java :1031) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176) at org.apache.wicket.RequestCycle.request(RequestCycle.java:499) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :257) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java :127) at org.mortbay.jetty.servlet.
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Watter wrote: > > I now have a new issue. Jean-Baptiste mentions in the JIRA issue that one > *must* include the XxxApplication and XxxSession classes. Well, when I > tried to do so I was unable to access my application. When I included the > my versions of those classes, I received the following: > > java.lang.IllegalAccessError: tried to access class > com.ptc.fusion.web.FusionWebApplication$1 from class > com.ptc.fusion.web.FusionWebApplication > at > com.ptc.fusion.web.FusionWebApplication.getSessionFactory(FusionWebApplication.java:137) > > The code at that location is: > > protected final ISessionFactory getSessionFactory() { > return new ISessionFactory() { > private static final long serialVersionUID = 1L; > public Session newSession(Request request, Response > response) { > return new > FusionAuthenticatedWebSession(FusionWebApplication.this, > request); > } > }; > } > > It seems that there may be a problem with my using > "FusionWebApplication.this" in the inner class. Is there way around this? > Perhaps another way to refer to the parent class? > I think I found a workaround for at least part of the problem. It seems that I can override newSession() instead of getSessionFactory() with something like this: public Session newSession(Request request, Response response) { return new FusionAuthenticatedWebSession(this, request); } With that, I can get past the error I reported earlier. Unfortunately, I'm seeing something else now. If I go to a page, then use my browser back button to go back a page, and then click on any other link, I get a ClassCastException for FusionAuthenticatedWebSession: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession I retrieve the session in my base page to check a few user variables. It's there that I get the ClassCastException. Here's the actual code: User user = ((FusionAuthenticatedWebSession)Session.get()).getUser(); I'll paste the entire stack trace at the end of the message. As I said, this only happens after using my back button and then clicking on a link as far as I can tell. Anyway, if anyone has any ideas, they'd be much appreciated. Thanks, Matt --- WicketMessage: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = listOrganizationLink, page = com.ptc.fusion.web.pages.user.ListUsers, path = 77:adminMenuItems:listOrganizationLink.PageLink, isVisible = true, isVersioned = true]] threw an exception Root cause: java.lang.ClassCastException: com.ptc.fusion.web.FusionAuthenticatedWebSession at com.ptc.fusion.web.FusionAuthenticatedWebSession.get(FusionAuthenticatedWebSession.java:43) at com.ptc.fusion.web.pages.template.FusionTemplate$AdminMenuItems.(FusionTemplate.java:136) at com.ptc.fusion.web.pages.template.FusionTemplate.(FusionTemplate.java:71) at com.ptc.fusion.web.pages.ListOrganization.(ListOrganization.java:35) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:58) at org.apache.wicket.markup.html.link.PageLink$1.getPage(PageLink.java:66) at org.apache.wicket.markup.html.link.PageLink.onClick(PageLink.java:153) at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:222) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:186) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:90) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1031) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176) at org.apache.wicket.RequestCycle.request(RequestCycle.java:499) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:257) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:173) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > * Watter: > >> Is it necessary to explicitly specify the inclusion of >> sub-packages when the parent package is already included? I only >> aske because our package hierarchy is pretty deep when it comes >> to pages, and I'd loke to avoid having to explicitly call each >> one of them out of just naming the root of that part of the >> packager hierarchy is enough. > > No it's not necessary, the wildcard applies to any character > except slash (not used for packages anyway). > -- > Jean-Baptiste Quenot > That's great to hear! I now have a new issue. Jean-Baptiste mentions in the JIRA issue that one *must* include the XxxApplication and XxxSession classes. Well, when I tried to do so I was unable to access my application. When I included the my versions of those classes, I received the following: java.lang.IllegalAccessError: tried to access class com.ptc.fusion.web.FusionWebApplication$1 from class com.ptc.fusion.web.FusionWebApplication at com.ptc.fusion.web.FusionWebApplication.getSessionFactory(FusionWebApplication.java:137) The code at that location is: protected final ISessionFactory getSessionFactory() { return new ISessionFactory() { private static final long serialVersionUID = 1L; public Session newSession(Request request, Response response) { return new FusionAuthenticatedWebSession(FusionWebApplication.this, request); } }; } It seems that there may be a problem with my using "FusionWebApplication.this" in the inner class. Is there way around this? Perhaps another way to refer to the parent class? Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11333128 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Watter: > Is it necessary to explicitly specify the inclusion of > sub-packages when the parent package is already included? I only > aske because our package hierarchy is pretty deep when it comes > to pages, and I'd loke to avoid having to explicitly call each > one of them out of just naming the root of that part of the > packager hierarchy is enough. No it's not necessary, the wildcard applies to any character except slash (not used for packages anyway). -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
Jean-Baptiste Quenot-3 wrote: > > I commented on the issue, and finally marked it as invalid. Here > is the comment, in case you wish to discuss it on the mailing-list > or just for the record if other users came across this: > > It's a bit tricky to make the reloading work with Spring. You have > to define class naming conventions and enforce them. The main idea > behind all of this, is that you will come across problems if the > same class is loaded in two different classloaders, one is the > parent classloader, and the other is the reloading classloader. > > And of course please read the Javadoc thoroughly especially if you > use Spring. > -- > Jean-Baptiste Quenot > I noticed that the fellow how commented in the JIRA issue used the following patterns: ReloadingClassLoader.includePattern("info.jtrac.wicket.*"); ReloadingClassLoader.includePattern("info.jtrac.wicket.yui.*"); Is it necessary to explicitly specify the inclusion of sub-packages when the parent package is already included? I only aske because our package hierarchy is pretty deep when it comes to pages, and I'd loke to avoid having to explicitly call each one of them out of just naming the root of that part of the packager hierarchy is enough. Thanks, Matt -- View this message in context: http://www.nabble.com/Has-something-changed-in-markup-inheritance--tf3963374.html#a11331892 Sent from the Wicket - User mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Using hot-reloading of classes with Spring (Was: Has something changed in markup inheritance?)
* Peter Thomas: > Sure Eelco, JIRA logged: WICKET-685 > > On 6/22/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote: > > >Could you describe the problems in a JIRA issue? Thanks. Please avoid to reply on top! I commented on the issue, and finally marked it as invalid. Here is the comment, in case you wish to discuss it on the mailing-list or just for the record if other users came across this: It's a bit tricky to make the reloading work with Spring. You have to define class naming conventions and enforce them. The main idea behind all of this, is that you will come across problems if the same class is loaded in two different classloaders, one is the parent classloader, and the other is the reloading classloader. And of course please read the Javadoc thoroughly especially if you use Spring. -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user