[ https://issues.apache.org/jira/browse/SHIRO-778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17134777#comment-17134777 ]
Pavel_K commented on SHIRO-778: ------------------------------- Any ideas? > onInit method on AuthenticatingRealm is called twice > ---------------------------------------------------- > > Key: SHIRO-778 > URL: https://issues.apache.org/jira/browse/SHIRO-778 > Project: Shiro > Issue Type: Bug > Affects Versions: 1.3.2, 1.5.3 > Reporter: Pavel_K > Priority: Major > > onInit method on AuthenticatingRealm is called twice. On the base of Brian > Demers's turotial project I created test project > [here|https://github.com/PashaTurok/shirotest.git] . To run test execute: > mvn jetty:run > > There will be the following ouput: > > {code:java} > [INFO] Initializing Shiro environment > 17:45:03.576 [main] INFO o.a.shiro.web.env.EnvironmentLoader - Starting Shiro > environment initialization. > 17:45:04.233 [main] ERROR com.foo.TestRealm - Error # 0 > java.lang.Exception: null > at com.foo.TestRealm.onInit(TestRealm.java:25) > at > org.apache.shiro.realm.AuthenticatingRealm.init(AuthenticatingRealm.java:395) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) > at > org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor.execute(ReflectionBuilder.java:785) > at > org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260) > at > org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167) > at > org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130) > at > org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108) > at > org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94) > at > org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46) > at > org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123) > at org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) > at > org.apache.shiro.web.env.IniWebEnvironment.createWebSecurityManager(IniWebEnvironment.java:203) > at > org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebEnvironment.java:99) > at org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) > at > org.apache.shiro.web.env.EnvironmentLoader.createEnvironment(EnvironmentLoader.java:221) > at > org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:133) > at > org.apache.shiro.web.env.EnvironmentLoaderListener.contextInitialized(EnvironmentLoaderListener.java:58) > at > org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:843) > at > org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:533) > at > org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:816) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:345) > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1404) > at > org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:323) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1366) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778) > at > org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262) > at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:520) > at > org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:398) > 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:411) > 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:378) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:460) > 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:137) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) > 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:498) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347) > 17:45:04.236 [main] ERROR com.foo.TestRealm - Error # 1 > java.lang.Exception: null > at com.foo.TestRealm.onInit(TestRealm.java:25) > at > org.apache.shiro.realm.AuthenticatingRealm.init(AuthenticatingRealm.java:395) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:61) > at > org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:264) > at > org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167) > at > org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130) > at > org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108) > at > org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94) > at > org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46) > at > org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123) > at org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) > at > org.apache.shiro.web.env.IniWebEnvironment.createWebSecurityManager(IniWebEnvironment.java:203) > at > org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebEnvironment.java:99) > at org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) > at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) > at > org.apache.shiro.web.env.EnvironmentLoader.createEnvironment(EnvironmentLoader.java:221) > at > org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:133) > at > org.apache.shiro.web.env.EnvironmentLoaderListener.contextInitialized(EnvironmentLoaderListener.java:58) > at > org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:843) > at > org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:533) > at > org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:816) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:345) > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1404) > at > org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:323) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1366) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778) > at > org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262) > at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:520) > at > org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:398) > 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:411) > 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:378) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:460) > 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:137) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) > 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:498) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347) > 17:45:04.238 [main] INFO o.a.s.c.IniSecurityManagerFactory - Realms have been > explicitly set on the SecurityManager instance - auto-setting of realms will > not occur.{code} > As I understand the problem is in > {code:java} > org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260) > {code} > and in > {code:java} > org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:264) > {code} > lines. > Firstly I saw problem in v.1.5.3 but later I saw it and in 1.3.2 -- This message was sent by Atlassian Jira (v8.3.4#803005)