How to resolve properly transitive dependencies of Tika in Fuse (camel) bundle? - apache-camel

I'm trying to implement Tika functionality in a Fuse (6.3) project. In the last current version 1.16 Tika offers Osgi bundle with parsers. I can't achieve the proper osgi way to include Tika in my project. Any hint how can I have to create the dependency configuration and use the osgi bundle?

Camel-Tika component is not included in JBoss Fuse 6.3. The Tika 1.16 version is in the camel-tika component, included in camel 2.20.0-SNAPSHOT.

Related

Use KIE 7.73.0.Final with Camel 3.11.7 in Karaf 4.4.0

I want to migrate KIE 6.2.0.Final and DROOLS 6.2.0.Final which work fine with Apache Camel 2.25 in Apache Servicemix 7.1.0-SNAPSHOT (Karaf 4.0.7) to
KIE 7.73.0.Final, DROOLS 7.73.0.Final, Apache Camel 3.11.7 in Apache Karaf 4.4.0
I checked all kie-camel.jar Versions, they use and implement intern camel 2.24. But this jar can not work for me, because the KiePolicy class which implements Policy Class in Camel3 has different Methods than Camel2.
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-camel</artifactId>
<version>7.73.0.Final </version>
</dependency>
Where can I find the kie-camel jar which using camel 3?
Is there any documentation or Examples which explain using Kie, Drools 7.73.0.Final with Camel 3 in Karaf 4.4.0?
Best regards
Amjad
I looked through the Drools github repositories and it looks like kie-parent pins Camel 2.24.0 up until now. (All releases, and current 'main' branch.)
As of now, there's no official version of kie-camel with a Camel 3 dependency. You'll need to either fork the repository and fix it yourself, find a third-party library that provides the same functionality, or implement the Camel 3 support yourself.

Is it possible to use camel-2.16.2 with servicemix 5.6.0 and karaf -2.4.4?

In our application we have encountered impotency issue which is fixed by https://issues.apache.org/jira/browse/CAMEL-9480. we are currently using service mix 5.5.0 with following dependencies.
Activiti 5.17.0
Apache ActiveMQ 5.11.1
Apache Camel 2.15.2
Apache CXF 3.0.4
Apache Karaf 2.4.3 .
So in-order to get fix for CAMEL-9480, i tried to upgrade camel to 2.16.2 by doing service mix upgrade to 5.6.0 which supports following dependencies
Activiti 5.19.0.2
Apache ActiveMQ 5.12.3
Apache Camel 2.16.2
Apache CXF 3.1.4
Apache Karaf 2.4.4
after upgrade i am getting following error during deployment
[caused by: Unable to resolve 295.0: missing requirement [295.0] osgi.wiring.package; (&(osgi.wiring.package=org.eclipse.jetty.util.log)(version>=9.2.0)(!(version>=10.0.0)))]
when i checked camel-jetty-2.16.2.pom,it uses camel-jetty9 and in karaf features its mentioned as below.
<details>camel-jetty9 intend to work with jetty9, so this feature only works in the karaf container which support jetty9, e.g. karaf 4.x</details>
so is it possible to use camel-2.16.2 with karaf 2.4.4 or we need upgrade to karaf 4.x?
There are two bundles and two features:
camel-jetty which support jetty8 (and Karaf 2/3)
camel-jetty9 which support jetty9 and Karaf 4
However, It depends too on the other camel features you use. Some feature uses a feature jetty without versions, other use directly camel-jetty9 or camel-jetty, etc. Sometimes, It necessary to rewrite some feature to fix a version range, but in most case, it works out of the box.

camel blueprint force usage of log4j

Has anyone been able to use camel-blueprint together with logback? It seems that there are dependencies in camel blueprint which forces you to use log4j even though the log4j dependencies are removed from the pom. After running the project it starts to download the slf4j-log4j12 and then then complains of multiple bindings because it finds both log4j and logback.
I did the same with a camel java project and it worked fine to switch to logback. Does camel-blueprint force you to use log4j as its logging implementation?
Answer found via nabble forum in through discussion with the camel community. For more details go here:
http://camel.465427.n5.nabble.com/camel-blueprint-force-usage-of-log4j-td5772826.html#a5772852
Essentially there are certain dependencies in the maven plugin which uses log4j. For production in JBoss Fuse or Karaf, its Pax logging.

Camel for Karaf 2.3.10

I have to use Apache Karaf 2.3.10 in our environment.
I need to run Apache Camel on karaf.
I am not sure what is the recommended Camel version for karaf 2.3.10.
I was referring to this link for compatibility information.
There is no straight forward answer there.
I want to use Camel 2.13 or above.
I think 2.14.0 is the best bet since, Karaf 2.3.7 is sufficient for it and I have Karaf 2.3.10 in our environment.
NB:
My post on Camel Users forum has not yielded any result so far.
Since Karaf 2.3.7 is compatible with Camel 2.14.0 so Karaf 2.3.10 is still compatible with Camel 2.14.0. The best choice is to use the newest Camel version because there is more bugfixes and more features than in the older one. So you should choose Camel 2.14.x (e.g. 2.14.3)

Including camel-test-spring causes NoClassDefFoundError for DefaultParameterNameDiscoverer

I have a Camel project using Maven to build and manage dependencies. My project depends on Camel component versions 2.14.0. I've matched Spring dependencies with Camel and use Spring component versions 3.2.11.RELEASE. However, if I include camel-test-spring version 2.14.0 as a dependency in the test scope it pulls in both spring-beans version 4.0.7.RELEASE and spring-expression 4.0.7.RELEASE into the runtime scope, which result is my application throwing java.lang.NoClassDefFoundError: org/springframework/core/DefaultParameterNameDiscoverer. Oh, btw, the application boots from a Java main method with org.apache.camel.spring.Main.
Adding exclusions for both spring-beans and spring-expression into the POM dependency for camel-test-spring resolves the runtime exception but I'm not sure if this is the right thing to do. Does anyone have more insight into why camel-test-spring 2.14.0 depends on the 4.0.7.RELEASE versions of spring-beans and spring-expression when most (all?) the other Camel 2.14.0 components seem to depend on 3.2.11.RELEASE versions of Spring components?
Regards,
Matt
Please you camel-test-spring3 which support Spring 3.x instead of camel-test-spring (for Spring 4.0.x).

Resources