You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Igor Raizin <ig...@gmail.com> on 2020/10/29 14:55:54 UTC
Karaf 4.1.4 race condition with javax.annotation and guava
Hello all,
Can you, please, advise how to resolve this kind of reca conditions during
the startup of the karaf?
We're using cxf 3.1.9 and guava 19.0, karaf 4.1.4, jdk8
CXF is installing the <bundle start-level="10">
mvn:javax.annotation/javax.annotation-api/1.2</bundle>
And guava 19.0 bundle headers are:
Export-Package =
com.google.common.net
;uses:="javax.annotation,com.google.common.base,com.google.common.hash,
com.google.common.io
,com.google.common.primitives,com.google.common.collect,com.google.common.escape";version=19.0.0,
com.google.common.html;uses:="com.google.common.escape,javax.annotation";version=19.0.0,
com.google.common.collect;uses:="com.google.common.base,javax.annotation,com.google.common.primitives,com.google.common.math";version=19.0.0,
com.google.common.primitives;uses:="javax.annotation,com.google.common.base,sun.misc";version=19.0.0,
com.google.common.base;uses:=javax.annotation;version=19.0.0,
com.google.common.escape;uses:="com.google.common.base,javax.annotation";version=19.0.0,
com.google.common.cache;uses:="com.google.common.collect,com.google.common.util.concurrent,javax.annotation,com.google.common.base,com.google.common.primitives,sun.misc";version=19.0.0,
com.google.common.eventbus;uses:="com.google.common.base,com.google.common.collect,com.google.common.util.concurrent,javax.annotation,com.google.common.cache,com.google.common.reflect";version=19.0.0,
com.google.common.util.concurrent;uses:="com.google.common.base,javax.annotation,sun.misc,com.google.common.collect,com.google.common.math,com.google.common.primitives";version=19.0.0,
com.google.common.hash;uses:="com.google.common.primitives,com.google.common.base,javax.annotation,com.google.common.math";version=19.0.0,
com.google.common.io
;uses:="javax.annotation,com.google.common.base,com.google.common.math,com.google.common.hash,com.google.common.collect,com.google.common.primitives";version=19.0.0,
com.google.common.xml;uses:="com.google.common.escape,javax.annotation";version=19.0.0,
com.google.common.reflect;uses:="javax.annotation,com.google.common.base,com.google.common.collect,com.google.common.primitives";version=19.0.0,
com.google.common.math;uses:="com.google.common.base,com.google.common.primitives,javax.annotation";version=19.0.0,
com.google.common.annotations;version=19.0.0
Import-Package =
javax.annotation;resolution:=optional,
sun.misc;resolution:=optional
*The error on feature install: *
*Chain 1:* com.test.example.rest.core [com.test.example.rest.core [446](R
446.0)]
import:
(&(osgi.wiring.package=javax.annotation)(version>=1.2.0)(!(version>=2.0.0)))
|
export: osgi.wiring.package: javax.annotation
javax.annotation-api [javax.annotation-api [168](R 168.0)]
*Chain 2:* com.test.example.rest.core [com.test.example.rest.core [446](R
446.0)]
import:
(&(osgi.wiring.package=com.test.example.exec.api)(version>=7.0.0)(!(version>=8.0.0)))
|
export: osgi.wiring.package=com.test.example.exec.api;
uses:=com.test.example.context.api
com.test.example.exec.api [com.test.example.exec.api [443](R 443.0)]
import:
(&(osgi.wiring.package=com.test.example.context.api)(version>=7.0.0)(!(version>=8.0.0)))
|
export: osgi.wiring.package=com.test.example.context.api;
uses:=com.test.example.common.entity
com.test.example.context.api [com.test.example.context.api [441](R 441.0)]
import:
(&(osgi.wiring.package=com.test.example.common.entity)(version>=6.0.0)(!(version>=7.0.0)))
|
export: osgi.wiring.package=com.test.example.common.entity;
uses:=com.google.common.base
com.test.example.common [com.test.example.common [398](R 398.0)]
import:
(&(osgi.wiring.package=com.google.common.base)(version>=19.0.0)(!(version>=20.0.0)))
|
export: osgi.wiring.package=com.google.common.base;
uses:=javax.annotation
com.google.guava [com.google.guava [157](R 157.0)]
import: (osgi.wiring.package=javax.annotation)
Thanks for the help!
Regards,
Igor
Re: Karaf 4.1.4 race condition with javax.annotation and guava
Posted by Jean-Baptiste Onofre <jb...@nanthrax.net>.
Hi,
Your feature needs javax.annotation at two levels (for cxf and guava).
Did you try to create a "my-common" feature just containing guava and javax.anntotation as prerequisite ?
Regards
JB
> Le 29 oct. 2020 à 15:55, Igor Raizin <ig...@gmail.com> a écrit :
>
> Hello all,
>
> Can you, please, advise how to resolve this kind of reca conditions during the startup of the karaf?
> We're using cxf 3.1.9 and guava 19.0, karaf 4.1.4, jdk8
> CXF is installing the <bundle start-level="10">mvn:javax.annotation/javax.annotation-api/1.2</bundle>
> And guava 19.0 bundle headers are:
> Export-Package =
> com.google.common.net <http://com.google.common.net/>;uses:="javax.annotation,com.google.common.base,com.google.common.hash,com.google.common.io <http://com.google.common.io/>,com.google.common.primitives,com.google.common.collect,com.google.common.escape";version=19.0.0,
> com.google.common.html;uses:="com.google.common.escape,javax.annotation";version=19.0.0,
> com.google.common.collect;uses:="com.google.common.base,javax.annotation,com.google.common.primitives,com.google.common.math";version=19.0.0,
> com.google.common.primitives;uses:="javax.annotation,com.google.common.base,sun.misc";version=19.0.0,
> com.google.common.base;uses:=javax.annotation;version=19.0.0,
> com.google.common.escape;uses:="com.google.common.base,javax.annotation";version=19.0.0,
> com.google.common.cache;uses:="com.google.common.collect,com.google.common.util.concurrent,javax.annotation,com.google.common.base,com.google.common.primitives,sun.misc";version=19.0.0,
> com.google.common.eventbus;uses:="com.google.common.base,com.google.common.collect,com.google.common.util.concurrent,javax.annotation,com.google.common.cache,com.google.common.reflect";version=19.0.0,
> com.google.common.util.concurrent;uses:="com.google.common.base,javax.annotation,sun.misc,com.google.common.collect,com.google.common.math,com.google.common.primitives";version=19.0.0,
> com.google.common.hash;uses:="com.google.common.primitives,com.google.common.base,javax.annotation,com.google.common.math";version=19.0.0,
> com.google.common.io <http://com.google.common.io/>;uses:="javax.annotation,com.google.common.base,com.google.common.math,com.google.common.hash,com.google.common.collect,com.google.common.primitives";version=19.0.0,
> com.google.common.xml;uses:="com.google.common.escape,javax.annotation";version=19.0.0,
> com.google.common.reflect;uses:="javax.annotation,com.google.common.base,com.google.common.collect,com.google.common.primitives";version=19.0.0,
> com.google.common.math;uses:="com.google.common.base,com.google.common.primitives,javax.annotation";version=19.0.0,
> com.google.common.annotations;version=19.0.0
> Import-Package =
> javax.annotation;resolution:=optional,
> sun.misc;resolution:=optional
>
> The error on feature install:
>
> Chain 1:
> com.test.example.rest.core [com.test.example.rest.core [446](R 446.0)]
> import: (&(osgi.wiring.package=javax.annotation)(version>=1.2.0)(!(version>=2.0.0)))
> |
> export: osgi.wiring.package: javax.annotation
> javax.annotation-api [javax.annotation-api [168](R 168.0)]
> Chain 2:
> com.test.example.rest.core [com.test.example.rest.core [446](R 446.0)]
> import: (&(osgi.wiring.package=com.test.example.exec.api)(version>=7.0.0)(!(version>=8.0.0)))
> |
> export: osgi.wiring.package=com.test.example.exec.api; uses:=com.test.example.context.api
> com.test.example.exec.api [com.test.example.exec.api [443](R 443.0)]
> import: (&(osgi.wiring.package=com.test.example.context.api)(version>=7.0.0)(!(version>=8.0.0)))
> |
> export: osgi.wiring.package=com.test.example.context.api; uses:=com.test.example.common.entity
> com.test.example.context.api [com.test.example.context.api [441](R 441.0)]
> import: (&(osgi.wiring.package=com.test.example.common.entity)(version>=6.0.0)(!(version>=7.0.0)))
> |
> export: osgi.wiring.package=com.test.example.common.entity; uses:=com.google.common.base
> com.test.example.common [com.test.example.common [398](R 398.0)]
> import: (&(osgi.wiring.package=com.google.common.base)(version>=19.0.0)(!(version>=20.0.0)))
> |
> export: osgi.wiring.package=com.google.common.base; uses:=javax.annotation
> com.google.guava [com.google.guava [157](R 157.0)]
> import: (osgi.wiring.package=javax.annotation)
>
>
> Thanks for the help!
>
> Regards,
> Igor