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

Brian Demers edited comment on SHIRO-493 at 7/1/16 2:44 PM:
------------------------------------------------------------

Thanks [~tom-11]! This is a great stop gap.  The ShiroWebModule could be 
extended in an application to add a similar fix.

We cannot require a bump in a major dependency version in Shiro 1.x.  
That said, we could support Guice 4.x if done in a backwards compatible way ( 
where both 3.x and 4.x work ), and the addFilterChain method works with custom 
filters
https://github.com/tom-haines/shiro/commit/a3b759a618ff26a487ab76b7045e436db8c2fc19#diff-359a7b20d3b7fdcc0ffce11ad57d6e1cR248

*NOTE:* Based on the description and comments, i'm assuming this problem also 
exists with 4.1, so I've updated the title of this issue so it doesn't look 
like the problem is just with the beta version.


was (Author: bdemers):
Thanks [~tom-11]! This is a great stop gap.  The ShiroWebModule could be 
extended in an application to add a similar fix.

We cannot require a bump in a major dependency version in 1.x.  
That said, we could support Guice 4.x if done in a backwards compatible way ( 
where both 3.x and 4.x work ), and the addFilterChain method works with custom 
filters
https://github.com/tom-haines/shiro/commit/a3b759a618ff26a487ab76b7045e436db8c2fc19#diff-359a7b20d3b7fdcc0ffce11ad57d6e1cR248

*NOTE:* Based on the description and comments, i'm assuming this problem also 
exists with 4.1, so I've updated the title of this issue so it doesn't look 
like the problem is just with the beta version.

> 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)

Reply via email to