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 <steve.cameron...@gmail.com> 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 < > steve.cameron...@gmail.com> > 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. > > > > > > >