shiro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Demers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SHIRO-493) shiro-guice not working with the guice 4.x
Date Tue, 05 Jul 2016 13:59:11 GMT

    [ https://issues.apache.org/jira/browse/SHIRO-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15362517#comment-15362517
] 

Brian Demers commented on SHIRO-493:
------------------------------------

bq. The update to guice 4 dependency in pom was not necessary, it is backwards compatible
with 3. In this context though, if using 3, why not just use the official release that is
compatible
That is good news, Ideally we want to support both guice 3 & 4 in the same code base.
 Changing the current Key could break any existing usages in any custom Modules extending
ShiroWebModule.

I see a couple options (open to other suggestions though):
* Add a Guice 4 implementation of ShiroWebModule along side the current one.
* Add code in the current ShiroWebModule to check if operating against Guice 4, and handle
or warn appropriately 

> shiro-guice not working with the guice 4.x
> ------------------------------------------
>
>                 Key: SHIRO-493
>                 URL: https://issues.apache.org/jira/browse/SHIRO-493
>             Project: Shiro
>          Issue Type: Bug
>          Components: Integration: Guice
>    Affects Versions: 1.2.3
>         Environment: java version "1.7.0_51"
> Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
>            Reporter: Filipe Sousa
>            Assignee: Jared Bunting
>
> Switching from guice 3.0 to guice 4 beta is causing some problems.
> public class SecurityModule extends ShiroWebModule {
>     public SecurityModule(ServletContext servletContext) {
>         super(servletContext);
>     }
>     @Override
>     protected void configureShiroWeb() {
>         bind(Realm.class).to(JdbcRealm.class);
>     }
> }
> com.google.inject.CreationException: Guice creation errors:
> 1) No implementation for java.util.Set<org.apache.shiro.realm.Realm> was bound.
>   at org.apache.shiro.guice.ShiroModule.configure(ShiroModule.java:74) (via modules:
pt.egoi.megan.guice.MeganModule -> pt.egoi.megan.security.SecurityModule)
> 1 error
> 	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:449)
~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.Guice.createInjector(Guice.java:96) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at com.google.inject.Guice.createInjector(Guice.java:84) ~[guice-4.0-SNAPSHOT.jar:na]
> 	at pt.egoi.megan.guice.GuiceListener.getInjector(GuiceListener.java:20) ~[classes/:na]
> 	at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47)
~[guice-servlet-4.0-SNAPSHOT.jar:na]
> 	at pt.egoi.megan.guice.GuiceListener.contextInitialized(GuiceListener.java:31) ~[classes/:na]
> 	at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746)
~[jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238)
~[jetty-servlet-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240) ~[jetty-webapp-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689)
~[jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482) ~[jetty-webapp-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337) [jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555)
[jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230) [jetty-deploy-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
[jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96) [jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.server.Server.doStart(Server.java:281) [jetty-server-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1274) [jetty-xml-7.6.14.v20131031.jar:7.6.14.v20131031]
> 	at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_51]
> 	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1197) [jetty-xml-7.6.14.v20131031.jar:7.6.14.v20131031]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message