Hi Mike,

That's probably due to a refresh. A feature or bundle newly installed
can trigger a refresh (for instance due to an optional import) and than
new feature can be installed if you don't use version range cleanly.

If you want to avoid this, you can:

1. first of all, verify your import and the version. As reminder, a
import package like "foo" actually mean "foo;version=0.0.0" which
actually mean "foo;version=[0,)" so basically any version ;)
2. you can blacklist some features. It's what I did since Karaf 4.2.5 to
avoid to have 4.3.0-SNAPSHOT features installed. See
https://github.com/apache/karaf/blob/karaf-4.2.x/assemblies/features/base/src/main/resources/resources/etc/org.apache.karaf.features.xml
3. you can also installed bundles/features causing the refresh in
startup or boot phase, it would avoid the refresh later. You can use
feature:install -t -v to have details about the bundles refreshed and why.

If you don't want to use resolution at runtime (dynamic distribution),
but you want to do the resolution at build time (static distribution),
you can take a look on the blog I did about that:
http://blog.nanthrax.net/?p=893

Regards
JB

On 17/05/2019 19:49, Mike wrote:
> Hi,
> 
> sorry for delay ...
> 
> I found that cxf 3.3.0 and 3.3.1 is installed. I installed the feature 
> without version definition
> 
> feature:install cxf
> 
> I tried
> 
> feature:install cxf/3.3.0
> 
> and only 3.3.0 is installed and also only one jetty version.
> 
> But if I install
> 
> feature:install cxf/3.3.1 (and some more features)
> 
> both 3.3.0 and 3.3.1 will be installed
> 
> Next I will try to blacklist installation of 3.3.0 ...
> 
> But how could it happen that a karaf release will install new features after 
> a time?
> I will have big problems installing productive systems (installation 
> description is not save). Had the same problem already with 
> "mvn:org.apache.karaf.features/standard/4.3.0-SNAPSHOT/xml/features"
> 
> 
> Thanks for help ... Mike
> 
> 
> Following the info block:
> 
> karaf@root(service)> info
> Karaf
>   Karaf version               4.2.3
>   Karaf home                  /opt/karaf
>   Karaf base                  /opt/karaf
>   OSGi Framework              org.apache.felix.framework-5.6.12
> 
> JVM
>   Java Virtual Machine        OpenJDK 64-Bit Server VM version 
> 11.0.2+9-Debian-3bpo91
>   Version                     11.0.2
>   Vendor                      Oracle Corporation
>   Pid                         12
>   Uptime                      29 minutes
>   Process CPU time            1 minute
>   Process CPU load            0.00
>   System CPU load             0.02
>   Open file descriptors       417
>   Max file descriptors        1,048,576
>   Total compile time          45.841 seconds
> Threads
>   Live threads                100
>   Daemon threads              79
>   Peak                        120
>   Total started               560
> Memory
>   Current heap size           198,371 kbytes
>   Maximum heap size           2,097,152 kbytes
>   Committed heap size         324,608 kbytes
>   Pending objects             0
>   Garbage collector           Name = 'G1 Young Generation', Collections = 37, 
> Time = 0.721 seconds
>   Garbage collector           Name = 'G1 Old Generation', Collections = 0, 
> Time = 0.000 seconds
> Classes
>   Current classes loaded      14,130
>   Total classes loaded        14,130
>   Total classes unloaded      0
> Operating system
>   Name                        Linux version 4.9.125-linuxkit
>   Architecture                amd64
>   Processors                  5
> 
> 
> 
> I Install the following features:
> 
> 
> feature:repo-add camel
> feature:repo-add cxf 3.3.1
> feature:repo-add activemq 5.15.8
> feature:install deployer camel-blueprint aries-blueprint cxf openjpa3 
> activemq-client
> 
> 
> REACTIVE_VERSION=1.6.1-SNAPSHOT
> 
> feature:repo-add 
> mvn:de.mhus.cherry.reactive/reactive-feature/${REACTIVE_VERSION}/xml/features
> feature:install openjpa3 cherry-reactive-dev cherry-reactive-all
> 
> Defined here 
> https://github.com/mhus/cherry-reactive/tree/master/reactive-docker/reactive-playground/deploy
> 
> and here 
> https://github.com/mhus/cherry-reactive/blob/master/reactive-feature/src/main/feature/feature.xml
> 
> 
> 
>> On 17. May 2019, at 05:56, Jean-Baptiste Onofré <[email protected]> wrote:
>>
>> Hi Mike,
>>
>> Which features are you installing and which Karaf version ?
>>
>> Jetty 9.4.12 is the version provided up to Karaf 4.2.5. So 9.4.18 is
>> installed by another feature (CXF or Camel for instance).
>>
>> Karaf 4.2.6 upgrades to Jetty 9.4.18.
>>
>> With Karaf 4.2.5, you can blacklist a version to use an unique one.
>>
>> Regards
>> JB
>>
>> On 16/05/2019 23:05, Mike wrote:
>>> Hello,
>>>
>>> Since a new installation I have two versions of jetty installed.
>>>
>>>
>>> 206                  | org.eclipse.jetty.client                             
>>>                          | 9.4.12.v20180830                       | Active  
>>>                   | 2019-05-16 20:50:01                  | valid
>>> 207                  | org.eclipse.jetty.client                             
>>>                          | 9.4.18.v20190429                       | Active  
>>>                   | 2019-05-16 20:50:01                  | valid
>>> 2
>>>
>>> jetty is not working because the extensions will not match
>>>
>>> 20:51:18.844 ERROR [FelixDispatchQueue] FrameworkEvent ERROR - 
>>> org.ops4j.pax.web.pax-web-extender-whiteboard
>>> java.util.ServiceConfigurationError: 
>>> org.eclipse.jetty.websocket.api.extensions.Extension: 
>>> org.eclipse.jetty.websocket.common.extensions.identity.IdentityExtension 
>>> not a subtype
>>>     at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
>>>     at 
>>> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)
>>>     at 
>>> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
>>>     at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
>>>     at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
>>>     at 
>>> org.eclipse.jetty.websocket.api.extensions.ExtensionFactory.<init>(ExtensionFactory.java:35)
>>>     at 
>>> org.eclipse.jetty.websocket.common.extensions.WebSocketExtensionFactory.<init>(WebSocketExtensionFactory.java:34)
>>>     at 
>>> org.eclipse.jetty.websocket.server.WebSocketServerFactory.<init>(WebSocketServerFactory.java:161)
>>>     at 
>>> org.eclipse.jetty.websocket.server.WebSocketServerFactory.<init>(WebSocketServerFactory.java:135)
>>>     at 
>>> org.eclipse.jetty.websocket.server.WebSocketServerFactory.<init>(WebSocketServerFactory.java:114)
>>>
>>>
>>> How could this happen? Doing the same then ever ...
>>>
>>> Thanks for help !!
>>>
>>> Mike
>>>
>>
>> --
>> Jean-Baptiste Onofré
>> [email protected]
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
> 

-- 
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to