The same or similar issue with the export/import of javax.transaction. The
camel-ibatis features didn't validate withe the Karaf 2.3.1 jre.properties:
[WARNING] Failed to validate feature camel-ibatis
[WARNING] No export found to match javax.transaction (imported by
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3)
[WARNING] No export found to match javax.transaction (imported by
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/2.3.4.726_4)
We use the following configurations:
org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,sun.*,com.sun.*,javax.transaction,javax.transaction.*
jre-1.6= \
....
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial,
\
....
After changing the jre.properties to
jre-1.6= \
....
javax.transaction, \
javax.transaction.xa, \
....
it works.
Than I tried to install camel-ibatis in Karaf 2.3.1:
cmueller$ ./karaf clean
__ __ ____
/ //_/____ __________ _/ __/
/ ,< / __ `/ ___/ __ `/ /_
/ /| |/ /_/ / / / /_/ / __/
/_/ |_|\__,_/_/ \__,_/_/
Apache Karaf (2.3.1)
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'osgi:shutdown' or 'logout' to shutdown Karaf.
karaf@root> features:chooseurl camel 2.11-SNAPSHOT
adding feature url
mvn:org.apache.camel.karaf/apache-camel/2.11-SNAPSHOT/xml/features
karaf@root> features:install camel-ibatis
and the console got frozen... :-(
No log entry in the log file.
I repeated the feature installation with the -v option and got the
following error message in my console:
karaf@root> features:install -v camel-ibatis
Installing feature camel-ibatis 2.11-SNAPSHOT
Installing feature camel-core 2.11-SNAPSHOT
Installing feature xml-specs-api 2.2.0
Installing bundle
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.2.0
Installing bundle
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/2.2.0
Installing bundle
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/2.2.0
Installing bundle mvn:org.codehaus.woodstox/stax2-api/3.1.1
Installing bundle mvn:org.codehaus.woodstox/woodstox-core-asl/4.2.0
Installing bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.1.1_2
Installing bundle mvn:org.apache.camel/camel-core/2.11-SNAPSHOT
Installing bundle
mvn:org.apache.camel.karaf/camel-karaf-commands/2.11-SNAPSHOT
Installing bundle mvn:commons-pool/commons-pool/1.6
Installing bundle
mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.2
Installing bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3
Installing bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/2.4_5
Installing bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.1_3_7
Installing bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/2.3.4.726_4
Installing bundle mvn:org.apache.camel/camel-ibatis/2.11-SNAPSHOT
Error executing command: Could not start bundle
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3
in feature(s) camel-bam-2.11-SNAPSHOT, camel-mybatis-2.11-SNAPSHOT,
camel-ibatis-2.11-SNAPSHOT, camel-quartz-2.11-SNAPSHOT,
camel-jpa-2.11-SNAPSHOT: Unresolved constraint in bundle
org.apache.servicemix.bundles.commons-dbcp [64]: Unable to resolve 64.0:
missing requirement [64.0] osgi.wiring.package;
(osgi.wiring.package=javax.transaction)
I think this should be addressed and fixed.
I'm using:
Java version: 1.6.0_43, vendor: Apple Inc.
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac"
Karaf 2.3.1
Thanks in advance,
Christian
On Sat, Apr 6, 2013 at 3:15 PM, Christian Müller <
[email protected]> wrote:
> The actual problem is to validate the camel-elasticsearch feature in Camel
> (I'm cutting the Camel 2.11.0 release right now).
> We use a config.properties file which I updated with the jre.properties
> provided by Karaf 2.3.1. I also updated the
> "org.osgi.framework.system.packages" property from Karaf's
> config.properties file.
>
> The error I get is:
> [WARNING] Failed to validate feature camel-elasticsearch
> [WARNING] No export found to match javax.annotation (imported by
> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch/0.19.10_1)
>
> This package should be of course provided by the Java runtime. The work
> around for now is to change the jre export from:
> javax.annotation;version="1.1", \
> to
> javax.annotation, \
> and it works. However, I do not understand this behavior because
> org.apache.servicemix.bundles.elasticsearch use the following package
> import declaration:
> Import-Package =
> ...
> javax.annotation,
> ...
> which means from version 0.0.0 and all after. This should match with the
> jre provided export for version 1.1.
> Does somebody has an explanation for me what's wrong?
>
>
>
> If I install this feature in a fresh Karaf 2.3.1 instance, it works fine:
>
> cmueller$ ./karaf clean
> __ __ ____
> / //_/____ __________ _/ __/
> / ,< / __ `/ ___/ __ `/ /_
> / /| |/ /_/ / / / /_/ / __/
> /_/ |_|\__,_/_/ \__,_/_/
>
> Apache Karaf (2.3.1)
>
> Hit '<tab>' for a list of available commands
> and '[cmd] --help' for help on a specific command.
> Hit '<ctrl-d>' or type 'osgi:shutdown' or 'logout' to shutdown Karaf.
>
> karaf@root> features:chooseurl camel 2.11-SNAPSHOT
> adding feature url
> mvn:org.apache.camel.karaf/apache-camel/2.11-SNAPSHOT/xml/features
> karaf@root> features:install camel-elasticsearch
> karaf@root> list
> START LEVEL 100 , List Threshold: 50
> ID State Blueprint Level Name
> [ 60] [Active ] [ ] [ 50] camel-core (2.11.0.SNAPSHOT)
> [ 61] [Active ] [Created ] [ 50] camel-karaf-commands
> (2.11.0.SNAPSHOT)
> [ 84] [Active ] [ ] [ 50] Guava: Google Core Libraries
> for Java (14.0.1)
> [ 85] [Active ] [ ] [ 50] Apache ServiceMix :: Bundles
> :: protobuf-java (2.3.0.3)
> [ 86] [Active ] [ ] [ 50] Jackson-core (2.1.4)
> [ 87] [Active ] [ ] [ 50] Jackson-dataformat-Smile
> (2.1.4)
> [ 88] [Active ] [ ] [ 50] Joda-Time (1.6.2)
> [ 89] [Active ] [ ] [ 50] Apache ServiceMix :: Bundles
> :: jakarta-regexp (1.4.0.1)
> [ 90] [Active ] [ ] [ 50] mvel2 (2.1.3.Final)
> [ 91] [Active ] [ ] [ 50] Apache ServiceMix :: Bundles
> :: lucene-core (3.6.0.1)
> [ 92] [Active ] [ ] [ 50] Apache ServiceMix :: Bundles
> :: elasticsearch (0.19.10.1)
> [ 93] [Active ] [ ] [ 50] camel-elasticsearch
> (2.11.0.SNAPSHOT)
>
> karaf@root> headers 92 | more
> You are about to access system bundle 92. Do you wish to continue
> (yes/no):
> Apache ServiceMix :: Bundles :: elasticsearch (92)
> --------------------------------------------------
> Manifest-Version = 1.0
> Bnd-LastModified = 1349451636868
> Tool = Bnd-1.50.0
> Built-By = jbonofre
> Build-Jdk = 1.6.0_26
> Created-By = Apache Maven Bundle Plugin
>
> Bundle-Vendor = The Apache Software Foundation
> Bundle-Name = Apache ServiceMix :: Bundles :: elasticsearch
> Bundle-DocURL = http://www.apache.org/
> Bundle-Description = This OSGi bundle wraps elasticsearch 0.19.10 jar file.
> Bundle-SymbolicName = org.apache.servicemix.bundles.elasticsearch
> Bundle-Version = 0.19.10.1
> Bundle-License = http://www.apache.org/licenses/LICENSE-2.0.txt
> Bundle-ManifestVersion = 2
>
> Import-Package =
> com.fasterxml.jackson.core,
> com.fasterxml.jackson.core.base,
> com.fasterxml.jackson.core.format,
> com.fasterxml.jackson.core.io,
> com.fasterxml.jackson.core.json,
> com.fasterxml.jackson.core.sym,
> com.fasterxml.jackson.core.type,
> com.fasterxml.jackson.core.util,
> com.fasterxml.jackson.dataformat.smile,
> com.google.common.annotations,
> com.google.common.base,
> com.google.common.cache,
> com.google.common.collect,
> com.google.common.io,
> com.google.common.math,
> com.google.common.primitives,
> com.google.common.util.concurrent,
> com.google.protobuf,
> com.ning.compress;resolution:=optional,
> com.ning.compress.lzf;resolution:=optional,
> com.ning.compress.lzf.impl;resolution:=optional,
> com.ning.compress.lzf.impl;resolution:=optional,
> com.ning.compress.lzf.util;resolution:=optional,
> com.sun.jna;resolution:=optional,
> gnu.trove;resolution:=optional,
> gnu.trove.function;resolution:=optional,
> gnu.trove.impl;resolution:=optional,
> gnu.trove.impl.hash;resolution:=optional,
> gnu.trove.iterator;resolution:=optional,
> gnu.trove.iterator.hash;resolution:=optional,
> gnu.trove.list;resolution:=optional,
> gnu.trove.list.array;resolution:=optional,
> gnu.trove.map;resolution:=optional,
> gnu.trove.map.hash;resolution:=optional,
> gnu.trove.procedure;resolution:=optional,
> gnu.trove.procedure.array;resolution:=optional,
> gnu.trove.set;resolution:=optional,
> gnu.trove.set.hash;resolution:=optional,
> gnu.trove.strategy;resolution:=optional,
> javax.annotation,
> ...
>
>
> HOWEVER, if I execute:
>
> karaf@root> packages:imports | grep javax.annotation
> System Bundle (0): javax.annotation; version=1.1.0
> System Bundle (0): javax.annotation; version=1.1.0
>
> it doesn't list the bundle 92 (Apache ServiceMix :: Bundles ::
> elasticsearch) although the import was resolved in bundle 92.
> Could somebody give me an explanation for this please!?
>
> Best,
> Christian
>