ok, now documented formally [1] [1] http://isis.apache.org/migration-notes.html#_release-notes_migration-notes_1.9.0-to-1.10.0
On 3 November 2015 at 10:00, Dan Haywood <[email protected]> wrote: > Oops. Yeah, of course. > On 3 Nov 2015 09:56, "Stephen Cameron" <[email protected]> wrote: > >> this works better >> >> isis.services.eventbus.allowLateRegistration=true >> >> :) >> >> I hope to have it running on Amazon EC2 tomorrow. >> >> thanks >> >> On Tue, Nov 3, 2015 at 7:53 PM, Dan Haywood <[email protected] >> > >> wrote: >> >> > OK, so this is related to ISIS-830. >> > >> > This ticket requires that the EventBusService is initialized early on >> (in >> > order to post lifecycle events for any domain services that create >> objects >> > as part of their own @PostConstruct). Previously the event bus service >> > would be initialized quite late in the day. >> > >> > However, other domain services may be subscribers which register with >> the >> > event bus service. This is typically done in their @PostConstruct too. >> > >> > The event bus service is insisting that all subscriber domain services >> > register themselves prior to any domain services that start to create >> > objects. That way, no subscribers will "miss" any events. >> > >> > This can be done using @DomainServiceLayout(menuOrder=...). >> > >> > To relax this rule, use: >> > >> > isis.services.eventbus.allowLateRegistration=false >> > >> > See also [1], [2] >> > >> > >> > I'll add something to the migration notes for 1.10.0-SNAPSHOT. >> > >> > HTH >> > Dan >> > >> > >> > [1] http://isis.apache.org/guides/rg.html#_rg_runtime_configuring-core >> > [2] >> > >> > >> http://isis.apache.org/guides/rg.html#_rg_services-api_manpage-EventBusService_Configuration >> > >> > >> > >> > >> > >> > On 3 November 2015 at 08:46, Stephen Cameron < >> [email protected]> >> > wrote: >> > >> > > This is the error I am seeing at present >> > > >> > > seed-users-and-roles-fixture-script : EXEC >> > > org.isisaddons.module.security.seed.SeedUsersAndRolesFixtureScript >> > > seed-users-and-roles-fixture-script/global-tenancy : EXEC >> > > org.isisaddons.module.security.seed.scripts.GlobalTenancy >> > > seed-users-and-roles-fixture-script/global-tenancy/Global : Global >> > > >> > > >> > >> seed-users-and-roles-fixture-script/isis-module-security-admin-role-and-permissions >> > > : EXEC >> > > >> > > >> > >> org.isisaddons.module.security.seed.scripts.IsisModuleSecurityAdminRoleAndPermissions >> > > >> > > >> > >> seed-users-and-roles-fixture-script/isis-module-security-fixture-role-and-permissions >> > > : EXEC >> > > >> > > >> > >> org.isisaddons.module.security.seed.scripts.IsisModuleSecurityFixtureRoleAndPermissions >> > > >> > > >> > >> seed-users-and-roles-fixture-script/isis-module-security-regular-user-role-and-permissions >> > > : EXEC >> > > >> > > >> > >> org.isisaddons.module.security.seed.scripts.IsisModuleSecurityRegularUserRoleAndPermissions >> > > seed-users-and-roles-fixture-script/isis-module-security-admin-user >> > > : EXEC >> > > >> org.isisaddons.module.security.seed.scripts.IsisModuleSecurityAdminUser >> > > >> > > >> > >> seed-users-and-roles-fixture-script/isis-applib-fixture-results-role-and-permissions >> > > : EXEC >> > > >> > > >> > >> org.isisaddons.module.security.seed.scripts.IsisApplibFixtureResultsRoleAndPermissions >> > > 19:41:19,478 [IsisTransaction main INFO ] abort >> transaction >> > > IsisTransaction@5dc1597f[state=MUST_ABORT,commands=1] >> > > 19:41:19,495 [IsisWicketApplication main ERROR] Failed to >> > > initialize >> > > com.google.inject.ProvisionException: Guice provision errors: >> > > >> > > 1) Error in custom provider, >> > > >> > > >> > >> org.apache.isis.core.runtime.system.transaction.IsisTransactionManagerException: >> > > java.lang.IllegalStateException: Events have already been posted; too >> > late >> > > to register any further (singleton) subscribers >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:139) >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:139) >> > > while locating org.apache.isis.core.runtime.system.IsisSystem >> > > for field at >> > > >> > > >> > >> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:151) >> > > while locating domainapp.webapp.DomainApplication >> > > >> > > 1 error >> > > at >> > > >> > > >> > >> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) >> > > at >> > > >> > > >> > >> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) >> > > at >> > > >> > > >> > >> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:265) >> > > at >> domainapp.webapp.DomainApplication.init(DomainApplication.java:64) >> > > at >> > org.apache.wicket.Application.initApplication(Application.java:823) >> > > at >> > > >> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427) >> > > at >> > > >> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) >> > > at >> > > >> org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:137) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:854) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346) >> > > at >> > > >> > >> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1368) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:320) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1335) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:735) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259) >> > > at >> > > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:511) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:403) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) >> > > at org.eclipse.jetty.server.Server.start(Server.java:405) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) >> > > at org.eclipse.jetty.server.Server.doStart(Server.java:372) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:457) >> > > at >> > > >> > > >> > >> org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:328) >> > > at >> > > >> > >> org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:170) >> > > at >> > > >> > > >> > >> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) >> > > at >> > > >> > > >> > >> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) >> > > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) >> > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) >> > > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) >> > > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) >> > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) >> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > > at >> > > >> > > >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> > > at >> > > >> > > >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> > > at java.lang.reflect.Method.invoke(Method.java:497) >> > > at >> > > >> > > >> > >> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) >> > > at >> > > >> > >> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) >> > > at >> > > >> > > >> > >> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) >> > > at >> > > >> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) >> > > Caused by: >> > > >> > > >> > >> org.apache.isis.core.runtime.system.transaction.IsisTransactionManagerException: >> > > java.lang.IllegalStateException: Events have already been posted; too >> > late >> > > to register any further (singleton) subscribers >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.system.IsisSystem.initializeServices(IsisSystem.java:245) >> > > at >> > > >> org.apache.isis.core.runtime.system.IsisSystem.init(IsisSystem.java:209) >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:140) >> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > > at >> > > >> > > >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> > > at >> > > >> > > >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> > > at java.lang.reflect.Method.invoke(Method.java:497) >> > > at >> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104) >> > > at >> > > >> > > >> > >> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) >> > > at >> > > >> > > >> > >> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) >> > > at >> > > >> > > >> > >> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) >> > > at >> > > >> > > >> > >> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) >> > > at com.google.inject.Scopes$1$1.get(Scopes.java:65) >> > > at >> > > >> > > >> > >> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) >> > > at >> > > >> > > >> > >> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) >> > > at >> > > >> > > >> > >> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) >> > > at >> > > >> > > >> > >> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) >> > > ... 56 more >> > > Caused by: java.lang.IllegalStateException: Events have already been >> > > posted; too late to register any further (singleton) subscribers >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault.register(EventBusServiceDefault.java:66) >> > > at >> > > >> > > >> > >> org.apache.isis.applib.AbstractSubscriber.postConstruct(AbstractSubscriber.java:36) >> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > > at >> > > >> > > >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> > > at >> > > >> > > >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> > > at java.lang.reflect.Method.invoke(Method.java:497) >> > > at >> > > >> > > >> > >> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53) >> > > at >> > > >> > > >> > >> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:47) >> > > at >> > > >> > > >> > >> org.apache.isis.core.metamodel.specloader.ServiceInitializer.postConstruct(ServiceInitializer.java:118) >> > > at >> > > >> > > >> > >> org.apache.isis.core.runtime.system.IsisSystem.initializeServices(IsisSystem.java:241) >> > > ... 76 more >> > > 19:41:19,524 [WicketFilter main ERROR] The >> initialization >> > > of an application with name 'WicketFilter' has failed. >> > > >> > > On Tue, Nov 3, 2015 at 7:31 PM, Stephen Cameron < >> > > [email protected]> >> > > wrote: >> > > >> > > > I am having problems configuring it, will have another go as I can >> see >> > > the >> > > > demo working but I am assuming the installation instructions are >> still >> > > the >> > > > same. >> > > > >> > > > >> > > > >> > > >> > >> >
