Details
-
Bug
-
Resolution: Done
-
Major
-
fuse-esb-7.0.1
-
None
-
None
-
%
Description
If I change my features file to not include camel-mail by default, servicemix-shared has problems starting. For example, the customer is using the following featuresBoot configuration:
featuresBoot=karaf-framework,config,management,camel,camel-blueprint,camel-saxon,camel-paxlogging,servicemix-http,servicemix-bean,servicemix-camel,servicemix-eip,servicemix-saxon
When ServiceMix starts with this configuration, servicemix-shared can not be started properly:
11:39:30,563 | WARN | Thread-4 | FeaturesServiceImpl | 16 - org.apache.karaf.features.core - 2.2.5.fuse-7-061 | Error when installing feature servicemix-http: java.lang.Exception: Can not resolve feature:
Unsatisfied requirement(s):
---------------------------
package&(package=javax.mail.internet)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack v2
package&(package=javax.mail.internet)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack
package&(package=javax.mail.util)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack v2
package&(package=javax.mail.util)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack
package&(package=org.apache.ws.commons.schema)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack v2
package&(package=javax.mail)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack v2
package&(package=javax.mail)(version>=1.4.0))
Apache ServiceMix :: Components :: Shared Libraries :: SOAP Stack
There's been a discussion on eng-help regarding which features should be included here, i.e:
The "servicemix-shared" feature should have:
<bundle>mvn:javax.mail/mail/1.4.4</bundle>
<bundle>mvn:org.apache.ws.xmlschema/xmlschema-core/2.0.1</bundle>
on its dependencies list to avoid the above error.
As such, <bundle dependency="true">mvn:org.apache.ws.xmlschema/xmlschema-core/2.0</bundle> may be removed from servicemix-http and servicemix-jms list.
Our original stance is that servicemix-shared is from JBI sharedLib concept, it should only include very common bundles used by all JBI BC/SE components.
java mail/xmlschema-core are not used across all JBI BC/SE components so it shouldn't be in servicemix-shared and thus stay in the
rest of them, however, we need a resolution to the above situation.
If we can not add the additional dependencies to resolve this scenario, the customer also wondered if we could remove SOAP Stacks (v1 and v2) from SharedLibrary (and their dependencies) from SharedLibrary and move them to each SE/BC which really requires SOAp Stacks jars.