Howard Lewis Ship wrote:
LinkFactoryListener has been made public, as LinkCreationListener.
Good, the next version will use that.
PersistentFieldManager ... I'd want to see a use case for why it needs
to be public. The more hidden behind the "internal" curtain, the
easier it is to morph the framework.
In equanda-t5navigation, this is used to assure that the persistence
behaviour is changed. From the default page data in session to storing
it in a page specific area. This way, when (as part of the navigation
through the site) a specific page occurs twice each instance has it's
own persistent data.
For example, over the last few days I've been doing some major surgery
on the PageLoader to add new features and improve page load speed
(especially for the second instance of a given page). I've had to tear
up lots of internal APIs to do this and I'm not apologizing. But the
end result is that your initial page instance will load faster and in
production (when Tapestry has to create new page instances to meet
demand), the amount of processing will be significantly lowered.
I fully understand this and am happy with the changes.
Kind regards,
Joachim
On Sun, Feb 15, 2009 at 10:10 AM, Joachim Van der Auwera
<joac...@progs.be> wrote:
Indeed, the LinkFactoryListener and PersistentFieldManager classes are
internal.
These seem pretty important for the extensability. Should these not be made
public?
Kind regards,
Joachim
Howard Lewis Ship wrote:
Third party modules that use some of T5's internal classes and
interfaces may not be compatible with 5.1. Many things have shifted
around internally ... that's the nature of the internal APIs.
On Sun, Feb 15, 2009 at 8:33 AM, Joachim Van der Auwera
<joac...@progs.be> wrote:
I have a module which works fine in tapestry 5.0.18.
However when I try using this in tapestry 5.1.0 (using jetty:run) I get
the
exception below.
The line reported in my code reads
public static void bind( ServiceBinder binder )
{
binder.bind( NavigationDispatcher.class ); // line which causes
exception...
}
Anybody have any clues about what is wrong?
Thanks for the help,
Joachim
java.lang.RuntimeException: Exception loading module(s) from manifest
jar:file:/home/joachim/.m2/repository/org/equanda/equanda-t5navigation/0.9.3-SNAPSHOT/equanda-t5navigation-0.9.3-SNAPSHOT.jar!/META-INF/MANIFEST.MF:
Failure loading Tapestry IoC module class
org.equanda.t5nav.services.NavigationModule: Error invoking service
binder
method org.equanda.t5nav.services.NavigationModule.bind(ServiceBinder)
(at
NavigationModule.java:51):
org/apache/tapestry5/internal/services/LinkFactoryListener
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:123)
at
org.apache.tapestry5.ioc.IOCUtilities.addDefaultModules(IOCUtilities.java:77)
at
org.apache.tapestry5.internal.TapestryAppInitializer.<init>(TapestryAppInitializer.java:85)
at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:74)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at
org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:357)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:293)
at
org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
at
org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.RuntimeException: Failure loading Tapestry IoC
module
class org.equanda.t5nav.services.NavigationModule: Error invoking service
binder method
org.equanda.t5nav.services.NavigationModule.bind(ServiceBinder) (at
NavigationModule.java:51):
org/apache/tapestry5/internal/services/LinkFactoryListener
at
org.apache.tapestry5.ioc.RegistryBuilder.add(RegistryBuilder.java:155)
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInList(IOCUtilities.java:137)
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:107)
... 43 more
2009-02-15 17:20:34.681::WARN: Failed startup of context
org.mortbay.jetty.plugin.jetty6pluginwebappcont...@6d4492fb{/t5-equanda-example,/home/joachim/apps/java/t5-equanda-example/src/main/webapp}
java.lang.RuntimeException: Exception loading module(s) from manifest
jar:file:/home/joachim/.m2/repository/org/equanda/equanda-t5navigation/0.9.3-SNAPSHOT/equanda-t5navigation-0.9.3-SNAPSHOT.jar!/META-INF/MANIFEST.MF:
Failure loading Tapestry IoC module class
org.equanda.t5nav.services.NavigationModule: Error invoking service
binder
method org.equanda.t5nav.services.NavigationModule.bind(ServiceBinder)
(at
NavigationModule.java:51):
org/apache/tapestry5/internal/services/LinkFactoryListener
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:123)
at
org.apache.tapestry5.ioc.IOCUtilities.addDefaultModules(IOCUtilities.java:77)
at
org.apache.tapestry5.internal.TapestryAppInitializer.<init>(TapestryAppInitializer.java:85)
at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:74)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at
org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at
org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:357)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:293)
at
org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
at
org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.RuntimeException: Failure loading Tapestry IoC
module
class org.equanda.t5nav.services.NavigationModule: Error invoking service
binder method
org.equanda.t5nav.services.NavigationModule.bind(ServiceBinder) (at
NavigationModule.java:51):
org/apache/tapestry5/internal/services/LinkFactoryListener
at
org.apache.tapestry5.ioc.RegistryBuilder.add(RegistryBuilder.java:155)
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInList(IOCUtilities.java:137)
at
org.apache.tapestry5.ioc.IOCUtilities.addModulesInManifest(IOCUtilities.java:107)
... 43 more
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org