I have set up my wicket application to reload constantly my templates:

public class MyWebApplication extends WebApplication {
    public MyWebApplication() {
        getSettings().setResourcePollFrequency(Duration.ONE_SECOND);
        getPages().setHomePage(Index.class);
    }
    protected void init() {
        getSettings().addResourceFolder("/java/myapp/templates");
    }
}

And this works excerpt for two problems:

1. (After more than one deployment using Tomcat Manager). The log of my Apache Tomcat is filled with this every second:

Feb 19, 2006 5:40:27 PM wicket.util.thread.Task$1 run
SEVERE: Unhandled exception thrown by user code in task ModificationWatcher
java.lang.NullPointerException
        at wicket.util.parse.metapattern.MetaPattern.toString (MetaPattern.java:323)
        at wicket.util.parse.metapattern.MetaPattern.compile(MetaPattern.java:343)
        at wicket.util.parse.metapattern.MetaPattern.matcher(MetaPattern.java:277)
        at wicket.util.parse.metapattern.MetaPattern.matcher (MetaPattern.java:259)
        at wicket.util.parse.metapattern.parsers.MetaPatternParser.<init>(MetaPatternParser.java:71)
        at wicket.util.parse.metapattern.parsers.TagNameParser.<init>(TagNameParser.java :54)
        at wicket.markup.parser.XmlPullParser.parseTagText(XmlPullParser.java:570)
        at wicket.markup.parser.XmlPullParser.nextTag(XmlPullParser.java:303)
        at wicket.markup.parser.XmlPullParser.nextTag (XmlPullParser.java:282)
        at wicket.markup.parser.filter.WicketTagIdentifier.nextTag(WicketTagIdentifier.java:98)
        at wicket.markup.parser.filter.TagTypeHandler.nextTag(TagTypeHandler.java:83)
        at wicket.markup.parser.filter.HtmlHandler.nextTag(HtmlHandler.java:86)
        at wicket.markup.parser.filter.WicketParamTagHandler.nextTag(WicketParamTagHandler.java:120)
        at wicket.markup.parser.filter.WicketRemoveTagHandler.nextTag (WicketRemoveTagHandler.java:64)
        at wicket.markup.parser.filter.WicketLinkTagHandler.nextTag(WicketLinkTagHandler.java:90)
        at wicket.markup.parser.filter.BodyOnLoadHandler.nextTag(BodyOnLoadHandler.java :63)
        at wicket.markup.parser.filter.HtmlHeaderSectionHandler.nextTag(HtmlHeaderSectionHandler.java:86)
        at wicket.markup.MarkupParser.parseMarkup(MarkupParser.java:275)
        at wicket.markup.MarkupParser.readAndParse (MarkupParser.java:236)
        at wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:219)
        at wicket.markup.MarkupCache.access$100(MarkupCache.java:45)
        at wicket.markup.MarkupCache$1.onChange(MarkupCache.java :288)
        at wicket.util.listener.ChangeListenerSet.notifyListener(ChangeListenerSet.java:32)
        at wicket.util.listener.ListenerSet.notifyListeners(ListenerSet.java:60)
        at wicket.util.watch.ModificationWatcher$1.run (ModificationWatcher.java:168)
        at wicket.util.thread.Task$1.run(Task.java:103)
        at java.lang.Thread.run(Thread.java:595)

(Apache Tomcat 5.5 / Windows XP)

2. If a make the following spelling mistake:

<html>
<body>
<div id="Header" wicket:id="header">
</div>
</body>
</html>

  ---->

<html>
<body>
<div id="Header" wicketxxxx:id="header">
</div>
</body>
</html>

It will fail with:

wicket.WicketRuntimeException: The component(s) below failed to render ...

However it will not reload if I correct it back again. Correction is only effective if I redeploy.

Any solutions?

I am using wicket 1.1.1 - should I try another version?

-- Christian

Reply via email to