[
https://issues.apache.org/jira/browse/KARAF-4159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15041408#comment-15041408
]
J. Brébec commented on KARAF-4159:
----------------------------------
Yes, you're right for the refresh actions. I still have issues with refresh,
but i don't have for now a simple test-case. What i have found (but still
random) :
- When two features install the same package (with two bundles), then every
time i install an unrelated feature, the package are refreshed (and of course
all the dependencies). This is the case when i install ActiveMQ 5.12.1 into
Karaf with the transaction-api feature. ActiveMQ feature has a dependency on
aries transaction 1.1.1 which export javax.transaction. With this low level
dependencies refreshed, all the container refresh for every feature installation
- If i install a feature A with an optional import on package P, and then i
install feature B which resolve the package P, then the optional import is
refreshed. but then, every time i install an unrelated feature, this package is
refreshed too.
For this issue, i have blacklisted spring 3.1.4 with the
"etc/backlisted.properties" ; i have rewritten the activemq feature to use
aries transaction 1.3.0 ;
The last refresh is more problematic because it restart a lot of bundles, and
moreover, Karaf4.0.3 ship with pax-web 4.2.3 wich has a blocker issue on
stopping/starting bundle (servlet are not reexported on restart).
thanks !
> FeatureResolver: Wrong dependencies installed
> ---------------------------------------------
>
> Key: KARAF-4159
> URL: https://issues.apache.org/jira/browse/KARAF-4159
> Project: Karaf
> Issue Type: Bug
> Components: karaf-feature
> Affects Versions: 4.0.3
> Environment: Reproduced in MacOS (JRE1.8) or Windows 7 (JRE 1.7)
> Reporter: J. Brébec
> Assignee: Guillaume Nodet
> Priority: Critical
>
> In a fresh Karaf 4.0.3 installation
> 1. install spring/3.2.14.RELEASE_1
> {code}
> feature:install spring/3.2.14.RELEASE_1
> {code}
> 2. test an installation of spring-dm. Randomly, Karaf try to install spring
> 3.1.4.RELEASE
> {code}
> karaf@root()> feature:install -t -v spring-dm
> Adding features: spring-dm/[1.2.1,1.2.1]
> Changes to perform:
> Region: root
> Bundles to install:
> mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.springstate/4.0.3
>
> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/3.0_1
> mvn:org.springframework/spring-aop/3.1.4.RELEASE
> mvn:org.springframework/spring-asm/3.1.4.RELEASE
> mvn:org.springframework/spring-beans/3.1.4.RELEASE
> mvn:org.springframework/spring-context/3.1.4.RELEASE
> mvn:org.springframework/spring-context-support/3.1.4.RELEASE
> mvn:org.springframework/spring-core/3.1.4.RELEASE
> mvn:org.springframework/spring-expression/3.1.4.RELEASE
> mvn:org.springframework.osgi/spring-osgi-core/1.2.1
> mvn:org.springframework.osgi/spring-osgi-extender/1.2.1
> mvn:org.springframework.osgi/spring-osgi-annotation/1.2.1
> mvn:org.springframework.osgi/spring-osgi-io/1.2.1
> Bundles to refresh:
> org.apache.servicemix.bundles.spring-aop/3.2.14.RELEASE_1 (Wired to
> org.apache.servicemix.bundles.spring-core/3.2.14.RELEASE_1 which is being
> refreshed)
> org.apache.servicemix.bundles.spring-beans/3.2.14.RELEASE_1 (Wired to
> org.apache.servicemix.bundles.spring-core/3.2.14.RELEASE_1 which is being
> refreshed)
> org.apache.servicemix.bundles.spring-context/3.2.14.RELEASE_1 (Wired to
> org.apache.servicemix.bundles.spring-aop/3.2.14.RELEASE_1 which is being
> refreshed)
> org.apache.servicemix.bundles.spring-context-support/3.2.14.RELEASE_1
> (Wired to org.apache.servicemix.bundles.spring-beans/3.2.14.RELEASE_1 which
> is being refreshed)
> org.apache.servicemix.bundles.spring-core/3.2.14.RELEASE_1 (Should be
> wired to: org.apache.servicemix.bundles.cglib/3.0.0.1 (through
> [org.apache.servicemix.bundles.spring-core/3.2.14.RELEASE_1]
> osgi.wiring.package;
> filter:="(&(osgi.wiring.package=net.sf.cglib.beans)(version>=3.0.0)(!(version>=4.0.0)))";
> resolution:=optional))
> org.apache.servicemix.bundles.spring-expression/3.2.14.RELEASE_1 (Wired
> to org.apache.servicemix.bundles.spring-core/3.2.14.RELEASE_1 which is being
> refreshed)
> {code}
> Note: This can happen too when installing spring and spring-dm in the same
> command or in a boot feature (staged or not).
> 3. install any unrelated feature (when spring-dm has installed spring 3.1) :
> Karaf uninstall spring 3.1 and refresh the world
> {code}
> karaf@root()> feature:install -t -v scheduler
> Adding features: scheduler/[4.0.3,4.0.3]
> Changes to perform:
> Region: root
> Bundles to uninstall:
> org.springframework.expression/3.1.4.RELEASE
> org.springframework.context.support/3.1.4.RELEASE
> org.springframework.core/3.1.4.RELEASE
> org.springframework.beans/3.1.4.RELEASE
> org.springframework.context/3.1.4.RELEASE
> org.springframework.aop/3.1.4.RELEASE
> org.springframework.asm/3.1.4.RELEASE
> Bundles to install:
> mvn:org.apache.karaf.scheduler/org.apache.karaf.scheduler.core/4.0.3
> Bundles to refresh:
> org.springframework.aop/3.1.4.RELEASE (Bundle will be uninstalled)
> org.springframework.asm/3.1.4.RELEASE (Bundle will be uninstalled)
> org.springframework.beans/3.1.4.RELEASE (Bundle will be uninstalled)
> org.springframework.context/3.1.4.RELEASE (Bundle will be uninstalled)
> org.springframework.context.support/3.1.4.RELEASE (Bundle will be
> uninstalled)
> org.springframework.core/3.1.4.RELEASE (Bundle will be uninstalled)
> org.springframework.expression/3.1.4.RELEASE (Bundle will be uninstalled)
> {code}
> this is critical in my environment : a lot of dependencies don't work with
> two versions of spring in the container. moreover, installing any feature
> after that uninstall/refresh a lot of bundle (it uninstall unrelated bundle
> too)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)