Pavel_K created SHIRO-778:
-----------------------------

             Summary: 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.5.3, 1.3.2
            Reporter: Pavel_K


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)

Reply via email to