Camel 2.23.1Karaf 4.2.4
XML Namespaces
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
xmlns:cxfcore="http://cxf.apache.org/blueprint/core"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint-2.23.1.xsd
http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/cxf/camel-cxf-2.23.1-blueprint.xsd
http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd"
Error blueprint namespace handlers:
Status: GracePeriod
Declarative Services
Blueprint
12.04.19, 09:00
Missing dependencies:
(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://camel.apache.org/schema/blueprint/cxf)) (&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://camel.apache.org/schema/blueprint))
In summary, the following are not registered by Aries Blueprint:
The blueprint runtime does not parse the blueprint xml until NamespaceHandler services can be found for every custom namespace that is used in the bundle. Unless NamespaceHandler services can be found for every custom namespace, the blueprint container is unable to process the bundle. This result can mean that the blueprint container waits indefinitely if no NamespaceHandler exists. https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_blueprint_namespace_handler.html
I know Aries Blueprint is running and registering some namespaces because of these karaf.log entries:
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/bindings/soap
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/simple
Registered blueprint namespace handler for http://cxf.apache.org/policy
Registered blueprint namespace handler for http://www.w3.org/ns/ws-policy
Registered blueprint namespace handler for http://www.w3.org/2006/07/ws-policy
Registered blueprint namespace handler for http://schemas.xmlsoap.org/ws/2004/09/policy
Registered blueprint namespace handler for http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
Registered blueprint namespace handler for http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
Registered blueprint namespace handler for http://www.w3.org/2000/09/xmldsig#
Registered blueprint namespace handler for http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/jaxws
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/jaxrs
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/jaxrs-client
Registered blueprint namespace handler for http://cxf.apache.org/blueprint/core
Registered blueprint namespace handler for http://cxf.apache.org/configuration/beans
Registered blueprint namespace handler for http://cxf.apache.org/configuration/parameterized-types
Registered blueprint namespace handler for http://cxf.apache.org/configuration/security
Registered blueprint namespace handler for http://schemas.xmlsoap.org/wsdl/
Registered blueprint namespace handler for http://www.w3.org/2005/08/addressing
Registered blueprint namespace handler for http://schemas.xmlsoap.org/ws/2004/08/addressing
Registered blueprint namespace handler for http://cxf.apache.org/transports/http-jetty/configuration
Karaf: as you can see, My Awesome Application is stuck (likely in a loop)
ID │ State │ Lvl │ Version │ Name
────┼─────────────┼─────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
23 │ Active │ 80 │ 4.2.4 │ Apache Karaf :: OSGi Services :: Event
45 │ GracePeriod │ 80 │ 1.0.0 │ My Awesome Application
46 │ Active │ 80 │ 0.0.0 │ features.xml
51 │ Active │ 80 │ 2.9.7 │ Jackson-JAXRS-base
52 │ Active │ 80 │ 2.9.7 │ Jackson-JAXRS-JSON
71 │ Active │ 50 │ 2.23.1 │ camel-blueprint
72 │ Active │ 80 │ 2.23.1 │ camel-commands-core
73 │ Active │ 50 │ 2.23.1 │ camel-core
74 │ Active │ 50 │ 2.23.1 │ camel-cxf
75 │ Active │ 50 │ 2.23.1 │ camel-cxf-transport
76 │ Active │ 50 │ 2.23.1 │ camel-http-common
77 │ Active │ 50 │ 2.23.1 │ camel-spring
78 │ Active │ 80 │ 2.23.1 │ camel-karaf-commands
102 │ Active │ 80 │ 1.1.1 │ geronimo-jms_1.1_spec
112 │ Active │ 80 │ 2.0.19 │ Apache MINA Core
144 │ Active │ 80 │ 4.12.0 │ Apache XBean OSGI Bundle Utilities
145 │ Active │ 80 │ 4.12.0 │ Apache XBean :: Classpath Resource Finder
Another intermittent error showed up regarding the HttpServer.
java.lang.ClassNotFoundException: org.osgi.service.http.HttpService not found by org.apache.cxf.cxf-rt-transports-http
My first inkling would be that this is required for the namespace handlers to validate the namespaces, but removing karaf in its entirety and reinstalling everything does not always yield this error. In fact, I get:
2019-04-12T09:45:31,438 | DEBUG | paxweb-config-1-thread-1 | pax-web-runtime | 181 - org.ops4j.pax.web.pax-web-runtime - 7.2.8 | ServiceEvent REGISTERED - [org.osgi.service.http.HttpService, org.ops4j.pax.web.service.WebContainer] - org.ops4j.pax.web.pax-web-runtime
bundle:services -p org.apache.camel.camel-blueprint
camel-blueprint (71) provides:
------------------------------
objectClass = [org.apache.aries.blueprint.NamespaceHandler]
osgi.service.blueprint.namespace = [http://camel.apache.org/schema/blueprint, http://camel.apache.org/schema/placeholder]
service.bundleid = 71
service.id = 198
service.scope = bundle
----
objectClass = [org.osgi.service.blueprint.container.BlueprintContainer]
osgi.blueprint.container.symbolicname = org.apache.camel.camel-blueprint
osgi.blueprint.container.version = 2.23.1
service.bundleid = 71
service.id = 199
service.scope = singleton
----
objectClass = [org.apache.karaf.shell.commands.info.InfoProvider]
service.bundleid = 71
service.id = 200
service.scope = singleton
list -t 0 -l
START LEVEL 100 , List Threshold: 0
ID │ State │ Lvl │ Version │ Location
────┼─────────────┼─────┼────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0 │ Active │ 0 │ 5.6.12 │ System Bundle
1 │ Resolved │ 1 │ 4.2.4 │ mvn:org.apache.karaf.features/org.apache.karaf.features.extension/4.2.4
2 │ Active │ 5 │ 1.2.2 │ mvn:org.apache.felix/org.apache.felix.metatype/1.2.2
3 │ Active │ 5 │ 4.2.4 │ mvn:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.2.4
4 │ Active │ 5 │ 2.6.1 │ mvn:org.ops4j.pax.url/pax-url-aether/2.6.1
5 │ Active │ 8 │ 1.17.1 │ mvn:org.fusesource.jansi/jansi/1.17.1
6 │ Active │ 8 │ 1.10.1 │ mvn:org.ops4j.pax.logging/pax-logging-api/1.10.1
7 │ Active │ 8 │ 1.10.1 │ mvn:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1
8 │ Active │ 9 │ 1.0.2 │ mvn:org.apache.felix/org.apache.felix.coordinator/1.0.2
9 │ Active │ 10 │ 1.9.14 │ mvn:org.apache.felix/org.apache.felix.configadmin/1.9.14
10 │ Active │ 11 │ 3.6.4 │ mvn:org.apache.felix/org.apache.felix.fileinstall/3.6.4
11 │ Active │ 15 │ 4.2.4 │ mvn:org.apache.karaf.features/org.apache.karaf.features.core/4.2.4
12 │ Active │ 30 │ 2.9.0 │ mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.9.0
13 │ Active │ 30 │ 1.1.5 │ mvn:org.apache.aries.jmx/org.apache.aries.jmx.api/1.1.5
14 │ Active │ 30 │ 1.1.8 │ mvn:org.apache.aries.jmx/org.apache.aries.jmx.core/1.1.8
15 │ Active │ 30 │ 1.2.0 │ mvn:org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/1.2.0
16 │ Active │ 20 │ 1.1.3 │ mvn:org.apache.aries/org.apache.aries.util/1.1.3
17 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.core/4.2.4
18 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.config/org.apache.karaf.config.core/4.2.4
19 │ Active │ 26 │ 4.2.4 │ mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.features/4.2.4
20 │ Active │ 24 │ 4.2.4 │ mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.kar/4.2.4
21 │ Active │ 24 │ 4.2.4 │ mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.wrap/4.2.4
22 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.diagnostic/org.apache.karaf.diagnostic.core/4.2.4
23 │ Active │ 80 │ 4.2.4 │ mvn:org.apache.karaf/org.apache.karaf.event/4.2.4
24 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.features/org.apache.karaf.features.command/4.2.4
25 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.instance/org.apache.karaf.instance.core/4.2.4
26 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.command/4.2.4
27 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.config/4.2.4
28 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/4.2.4
29 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.kar/org.apache.karaf.kar.core/4.2.4
30 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.log/org.apache.karaf.log.core/4.2.4
31 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.management/org.apache.karaf.management.server/4.2.4
32 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.package/org.apache.karaf.package.core/4.2.4
33 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.service/org.apache.karaf.service.core/4.2.4
34 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/4.2.4
35 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.shell/org.apache.karaf.shell.core/4.2.4
36 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.shell/org.apache.karaf.shell.ssh/4.2.4
37 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.system/org.apache.karaf.system.core/4.2.4
38 │ Active │ 30 │ 0.3.11.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.not-yet-commons-ssl/0.3.11_1
39 │ Active │ 30 │ 1.7.0 │ mvn:org.apache.sshd/sshd-core/1.7.0
40 │ Active │ 30 │ 3.10.0 │ mvn:org.jline/jline-builtins/3.10.0
41 │ Active │ 30 │ 3.10.0 │ mvn:org.jline/jline-reader/3.10.0
42 │ Active │ 30 │ 3.10.0 │ mvn:org.jline/jline-terminal/3.10.0
43 │ Resolved │ 30 │ 3.10.0 │ mvn:org.jline/jline-terminal-jansi/3.10.0
44 │ Active │ 5 │ 2.6.1 │ mvn:org.ops4j.pax.url/pax-url-wrap/2.6.1/jar/uber
45 │ Active │ 80 │ 0.0.0 │ feature:file:/usr/local/karaf/apache-karaf-4.2.4/deploy/features.xml
46 │ GracePeriod │ 90 │ 1.0.0 │ file:/usr/local/karaf/apache-karaf-4.2.4/deploy/my-awesome-application-1.0.0.jar
47 │ Active │ 35 │ 2.9.7 │ mvn:com.fasterxml.jackson.core/jackson-annotations/2.9.7
48 │ Active │ 35 │ 2.9.7 │ mvn:com.fasterxml.jackson.core/jackson-core/2.9.7
49 │ Active │ 35 │ 2.9.7 │ mvn:com.fasterxml.jackson.core/jackson-databind/2.9.7
50 │ Active │ 35 │ 2.9.7 │ mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/2.9.7
51 │ Active │ 80 │ 2.9.7 │ wrap:mvn:com.fasterxml.jackson.jaxrs/...
52 │ Active │ 80 │ 2.9.7 │ wrap:mvn:com.fasterxml.jackson.jaxrs/...
53 │ Active │ 35 │ 2.9.7 │ mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/2.9.7
54 │ Active │ 20 │ 5.0.3 │ mvn:com.fasterxml.woodstox/woodstox-core/5.0.3
55 │ Active │ 25 │ 20.0.0 │ mvn:com.google.guava/guava/20.0
56 │ Active │ 25 │ 3.2.6 │ mvn:io.dropwizard.metrics/metrics-core/3.2.6
57 │ Active │ 10 │ 1.3 │ mvn:javax.annotation/javax.annotation-api/1.3
58 │ Active │ 30 │ 1.4.7 │ mvn:javax.mail/mail/1.4.7
59 │ Active │ 30 │ 3.1.0 │ mvn:javax.servlet/javax.servlet-api/3.1.0
60 │ Active │ 30 │ 1.1 │ mvn:javax.websocket/javax.websocket-api/1.1
61 │ Active │ 25 │ 2.9.4 │ mvn:joda-time/joda-time/2.9.4
62 │ Active │ 40 │ 2.10.5 │ mvn:net.sf.ehcache/ehcache/2.10.5
63 │ Active │ 20 │ 1.0.1 │ mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1
64 │ Active │ 20 │ 1.3.1 │ mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.3.1
65 │ Active │ 20 │ 1.10.1 │ mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.10.1
66 │ Resolved │ 20 │ 1.0.0 │ mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0
67 │ Active │ 30 │ 1.2.0 │ mvn:org.apache.aries.jmx/org.apache.aries.jmx.blueprint.api/1.2.0
68 │ Active │ 30 │ 1.2.0 │ mvn:org.apache.aries.jmx/org.apache.aries.jmx.blueprint.core/1.2.0
69 │ Active │ 20 │ 1.1.4 │ mvn:org.apache.aries.proxy/org.apache.aries.proxy/1.1.4
70 │ Active │ 30 │ 1.2.0 │ mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.2
71 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-blueprint/2.23.1
72 │ Active │ 80 │ 2.23.1 │ mvn:org.apache.camel/camel-commands-core/2.23.1
73 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-core/2.23.1
74 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-cxf/2.23.1
75 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-cxf-transport/2.23.1
76 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-http-common/2.23.1
77 │ Active │ 50 │ 2.23.1 │ mvn:org.apache.camel/camel-spring/2.23.1
78 │ Active │ 80 │ 2.23.1 │ mvn:org.apache.camel.karaf/camel-karaf-commands/2.23.1
79 │ Active │ 25 │ 1.11.0 │ mvn:commons-codec/commons-codec/1.11
80 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-core/3.2.7
81 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-bindings-soap/3.2.7
82 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-bindings-xml/3.2.7
83 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-databinding-aegis/3.2.7
84 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-databinding-jaxb/3.2.7
85 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-features-logging/3.2.7
86 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/3.2.7
87 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-frontend-jaxws/3.2.7
88 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-frontend-simple/3.2.7
89 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-management/3.2.7
90 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-rs-client/3.2.7
91 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-rs-extension-providers/3.2.7
92 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-rs-extension-search/3.2.7
93 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-rs-json-basic/3.2.7
94 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-rs-service-description/3.2.7
95 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-transports-http/3.2.7
96 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-transports-http-jetty/3.2.7
97 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-ws-policy/3.2.7
98 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf/cxf-rt-wsdl/3.2.7
99 │ Active │ 40 │ 3.2.7 │ mvn:org.apache.cxf.karaf/cxf-karaf-commands/3.2.7
100 │ Active │ 30 │ 2.1.16 │ mvn:org.apache.felix/org.apache.felix.scr/2.1.16
101 │ Active │ 30 │ 1.1 │ mvn:org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/1.1
102 │ Active │ 80 │ 1.1.1 │ mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1
103 │ Active │ 30 │ 1.1.1 │ mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1
104 │ Active │ 9 │ 1.1 │ mvn:org.apache.geronimo.specs/geronimo-osgi-registry/1.1
105 │ Active │ 10 │ 1.1.3 │ mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/1.1.3
106 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.blueprintstate/4.2.4
107 │ Active │ 24 │ 4.2.4 │ mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.blueprint/4.2.4
108 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.http/org.apache.karaf.http.core/4.2.4
109 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.jaas.blueprint/org.apache.karaf.jaas.blueprint.config/4.2.4
110 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.scr/org.apache.karaf.scr.management/4.2.4
111 │ Active │ 30 │ 4.2.4 │ mvn:org.apache.karaf.scr/org.apache.karaf.scr.state/4.2.4
112 │ Active │ 80 │ 2.0.19 │ mvn:org.apache.mina/mina-core/2.0.19
113 │ Active │ 30 │ 3.1.1 │ mvn:org.apache.neethi/neethi/3.1.1
114 │ Active │ 25 │ 2.1.2 │ mvn:org.apache.santuario/xmlsec/2.1.2
115 │ Active │ 30 │ 1.0.0.6 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_6
116 │ Active │ 30 │ 5.2.0.4 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/5.2_4
117 │ Active │ 30 │ 1.2.13.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.fastinfoset/1.2.13_1
118 │ Active │ 30 │ 1.9.2.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jasypt/1.9.2_1
119 │ Active │ 20 │ 2.2.11.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1
120 │ Active │ 20 │ 2.2.11.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/2.2.11_1
121 │ Active │ 25 │ 3.3.0.2 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.opensaml/3.3.0_2
122 │ Active │ 25 │ 1.3.23.2 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saaj-impl/1.3.23_2
123 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/5.1.5.RELEASE_1
124 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/5.1.5.RELEASE_1
125 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/5.1.5.RELEASE_1
126 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/5.1.5.RELEASE_1
127 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/5.1.5.RELEASE_1
128 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/5.1.5.RELEASE_1
129 │ Active │ 30 │ 5.1.5.RELEASE_1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/5.1.5.RELEASE_1
130 │ Active │ 30 │ 1.6.3.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/1.6.3_1
131 │ Active │ 30 │ 2.7.2.3 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.2_3
132 │ Active │ 30 │ 2.12.0.1 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
133 │ Active │ 25 │ 1.2.0.5 │ mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_5
134 │ Active │ 10 │ 2.9.1 │ mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxrs-api-2.1/2.9.1
135 │ Active │ 10 │ 2.9.0 │ mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0
136 │ Active │ 10 │ 2.9.0 │ mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.9.0
137 │ Active │ 30 │ 2.2.3 │ mvn:org.apache.ws.xmlschema/xmlschema-core/2.2.3
138 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-bindings/2.2.2
139 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-policy/2.2.2
140 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-ws-security-common/2.2.2
141 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-ws-security-dom/2.2.2
142 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-ws-security-policy-stax/2.2.2
143 │ Active │ 30 │ 2.2.2 │ mvn:org.apache.wss4j/wss4j-ws-security-stax/2.2.2
144 │ Active │ 80 │ 4.12.0 │ mvn:org.apache.xbean/xbean-bundleutils/4.12
145 │ Active │ 80 │ 4.12.0 │ mvn:org.apache.xbean/xbean-finder/4.12
146 │ Active │ 30 │ 1.4.0 │ mvn:org.codehaus.jettison/jettison/1.4.0
147 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-client/9.4.12.v20180830
148 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-continuation/9.4.12.v20180830
149 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-deploy/9.4.12.v20180830
150 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-http/9.4.12.v20180830
151 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-io/9.4.12.v20180830
152 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-jaas/9.4.12.v20180830
153 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-jmx/9.4.12.v20180830
154 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-jndi/9.4.12.v20180830
155 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-plus/9.4.12.v20180830
156 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-rewrite/9.4.12.v20180830
157 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-security/9.4.12.v20180830
158 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-jaspi/9.4.12.v20180830
159 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-server/9.4.12.v20180830
160 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-servlet/9.4.12.v20180830
161 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-servlets/9.4.12.v20180830
162 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-util/9.4.12.v20180830
163 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-util-ajax/9.4.12.v20180830
164 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-webapp/9.4.12.v20180830
165 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/websocket-api/9.4.12.v20180830
166 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/websocket-client/9.4.12.v20180830
167 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/websocket-common/9.4.12.v20180830
168 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/javax-websocket-client-impl/9.4.12.v20180830
169 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/javax-websocket-server-impl/9.4.12.v20180830
170 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/websocket-server/9.4.12.v20180830
171 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty.websocket/websocket-servlet/9.4.12.v20180830
172 │ Active │ 30 │ 9.4.12.v20180830 │ mvn:org.eclipse.jetty/jetty-xml/9.4.12.v20180830
173 │ Active │ 25 │ 1.7.6 │ mvn:org.jvnet.staxex/stax-ex/1.7.6
174 │ Active │ 20 │ 7.1.0 │ mvn:org.ow2.asm/asm/7.1
175 │ Active │ 20 │ 7.1.0 │ mvn:org.ow2.asm/asm-commons/7.1
176 │ Active │ 20 │ 7.1.0 │ mvn:org.ow2.asm/asm-tree/7.1
177 │ Active │ 20 │ 7.1.0 │ mvn:org.ow2.asm/asm-analysis/7.1
178 │ Active │ 20 │ 7.1.0 │ mvn:org.ow2.asm/asm-util/7.1
179 │ Active │ 30 │ 7.2.8 │ mvn:org.ops4j.pax.web/pax-web-api/7.2.8
181 │ Active │ 30 │ 7.2.8 │ mvn:org.ops4j.pax.web/pax-web-runtime/7.2.8
182 │ Active │ 30 │ 7.2.8 │ mvn:org.ops4j.pax.web/pax-web-spi/7.2.8
183 │ Active │ 30 │ 1.0.0.201505202023 │ mvn:org.osgi/org.osgi.util.function/1.0.0
184 │ Active │ 30 │ 1.0.0.201505202023 │ mvn:org.osgi/org.osgi.util.promise/1.0.0
185 │ Active │ 35 │ 1.23.0 │ mvn:org.yaml/snakeyaml/1.23
186 │ Active │ 20 │ 3.1.4 │ mvn:org.codehaus.woodstox/stax2-api/3.1.4
187 │ Active │ 10 │ 4.4.1 │ mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1
188 │ Active │ 80 │ 1.4.23.Final │ mvn:io.undertow/undertow-core/1.4.23.Final
189 │ Active │ 80 │ 1.4.23.Final │ mvn:io.undertow/undertow-servlet/1.4.23.Final
190 │ Active │ 80 │ 1.4.23.Final │ mvn:io.undertow/undertow-websockets-jsr/1.4.23.Final
191 │ Active │ 80 │ 3.3.8.Final │ mvn:org.jboss.xnio/xnio-api/3.3.8.Final
192 │ Active │ 80 │ 3.3.8.Final │ mvn:org.jboss.xnio/xnio-nio/3.3.8.Final
193 │ Active │ 80 │ 7.2.8 │ mvn:org.ops4j.pax.web/pax-web-undertow/7.2.8
features.xml
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0 http://karaf.apache.org/xmlns/features/v1.4.0"
name="my-awesome-application-features">
<repository>mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features</repository>
<repository>mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features</repository>
<feature name="my-awesome-application" version="${project.version}" install="auto">
<feature version="${cxf.version}" dependency="true">cxf</feature>
<feature version="1.10.2" dependency="true">aries-blueprint</feature>
<feature version="${camel.version}" dependency="true">camel</feature>
<feature version="${camel.version}" dependency="true">camel-api</feature>
<feature version="${camel.version}" dependency="true">camel-base</feature>
<feature version="${camel.version}" dependency="true">camel-core</feature>
<feature version="${camel.version}" dependency="true">camel-cxf</feature>
<feature version="${camel.version}" dependency="true">camel-blueprint</feature>
<feature version="${camel.version}" dependency="true">camel-paxlogging</feature>
<feature version="${camel.version}" dependency="true">camel-stream</feature>
<bundle start-level="90">file:deploy/my-awesome-application-${project.version}.jar</bundle>
</feature>
</features>
It is important that the Aries Blueprint (blueprint-core
) and Aries Blueprint API (blueprint-api
) are not declared as embedded in the MANIFEST.MF. When using the maven-bundle-plugin, this is equivalent to having a look at the pom.xml
<Embed-Dependency>
*
</Embed-Dependency>
A star here would include, for example, the blueprint-core
, blueprint-api
, camel-core
, blueprint-blueprint
. This could lead to Karaf checking the wrong namespace registry when looking for namespace handlers.
I simply removed the Kleene star * and embedded only non-OSGI packages that I needed. However, if you want a star, then there is also a solution. Because the Embed-Dependency is processed sequentially (top-down), it is possible to exclude dependencies before the star like this:
<Embed-Dependency>
!org.apache.aries.blueprint-core,
!org.apache.aries.blueprint-api,
*
</Embed-Dependency>
The star will not include pre-negated packages.
Also, it could be that two Karaf features declared in the features.xml
start multiple instances of CXF, i.e. feature camel-cxf
and feature cxf
, which might lead to only one of them registering with the Blueprint Namespace Handler.