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

Richard S. Hall commented on FELIX-3522:
----------------------------------------

This scenario appears to work fine on the framework.

One suspicious thing is that war.extender.jar shouldn't even see 
http.service.provider as a candidate for javax.servlet since it was chosen as 
an importer of that package, not an exporter. Perhaps your ResolveContext 
implementation is forgetting to filter substituted exports?

Technically, at this point in the resolve there is only one viable candidate 
for javax.servlet, which is the api bundle.
                
> Regression related to uses clause with multiple package providers
> -----------------------------------------------------------------
>
>                 Key: FELIX-3522
>                 URL: https://issues.apache.org/jira/browse/FELIX-3522
>             Project: Felix
>          Issue Type: Bug
>          Components: Resolver
>            Reporter: Thomas Diesler
>         Attachments: test.log
>
>
> For this test
> https://github.com/tdiesler/jbosgi-resolver/blob/3.0/felix/src/test/java/org/jboss/test/osgi/resolver/UsesDirectiveResolverTest.java
> I get
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.116 sec <<< 
> FAILURE!
> testMultipleProviders(org.jboss.test.osgi.resolver.UsesDirectiveResolverTest) 
>  Time elapsed: 0.096 sec  <<< ERROR!
> org.osgi.service.resolver.ResolutionException: Uses constraint violation. 
> Unable to resolve resource war.extender.jar 
> [AbstractResource[war.extender.jar:0.0.0]] because it is exposed to package 
> 'javax.servlet' from resources javax.servlet.api 
> [AbstractResource[javax.servlet.api:0.0.0]] and http.service.provider 
> [AbstractResource[http.service.provider:0.0.0]] via two dependency chains.
> Chain 1:
>   war.extender.jar [AbstractResource[war.extender.jar:0.0.0]]
>     import: null
>      |
>     export: osgi.wiring.package=javax.servlet
>   javax.servlet.api [AbstractResource[javax.servlet.api:0.0.0]]
> Chain 2:
>   war.extender.jar [AbstractResource[war.extender.jar:0.0.0]]
>     import: null
>      |
>     export: osgi.wiring.package=org.ops4j.pax.web.service; uses:=javax.servlet
>     export: osgi.wiring.package=javax.servlet
>   http.service.provider [AbstractResource[http.service.provider:0.0.0]]
>       at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1134)
>       at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:197)
>       at 
> org.jboss.osgi.resolver.felix.StatelessResolver.resolve(StatelessResolver.java:57)
>       at 
> org.jboss.test.osgi.resolver.UsesDirectiveResolverTest.testMultipleProviders(UsesDirectiveResolverTest.java:158)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to