Can we write Jenkins Pipeline with any Apache Camel DSL? it would be very nice to have such feature as Camel DSL is good to write such pipeline with less code and more focused.
The fabric8 team created a set of Jenkins pipeline functions in groovy that you can use in a nice DSL's way. See more at: https://github.com/fabric8io/fabric8-pipeline-library
Related
I am setting osgi-bluprint and apache camle project and I am wondering how we can integrate this two compoenent.
There are plenty of examples out of the box with Apache Camel.
See the OSGi / blueprint examples at:
https://github.com/apache/camel/tree/camel-2.x/examples#welcome-to-the-apache-camel-examples
This could be a good place to start.
http://camel.apache.org/using-osgi-blueprint-with-camel.html
It is a very common pattern to use OSGi-blueprint and Camel (with OSGi runtimes such as Apache Karaf) and there are plenty of examples out there.
I use apache camel-cdi and wildfly 8.2. How to configurate thread pool for camel?
In documentation I only see config for spring, but I use java ee with wildfly
You can check Java DSL configuration to create a thread pool in Camel.
import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.ThreadPoolProfile;
ExecutorServiceManager manager = context.getExecutorServiceManager();
ThreadPoolProfile defaultProfile = manager.getDefaultThreadPoolProfile();
// Now, customize the profile settings.
defaultProfile.setPoolSize(SomeSize);
defaultProfile.setMaxQueueSize(QueueSize);
This depends on your use case but you can definitely use thread pooling with Camel Java DSL. The format would be something like the below:
ExecutorService threadPool = Executors.newFixedThreadPool(20);
.split(body().tokenize("\n")).streaming().executorService(threadPool)
Individual components can also allow for individual threading (see file2 for example). If you have the Camel in Action book, chapter 10 is all about concurrency. It goes into threading and concurrency in much more detail.
What is the difference between Apache camel-jbpm and jboss jbpm ?
Since Apache camel(2.16.3) is having one component as camel-jbpm.
I am confused which one I should use ? I am integrating with karaf. please suggest.
JBoss BPM (business process - a.k.a human workflow) is a project you can find and read more about here:
http://www.jbpm.org/
Apache Camel is an integration library that allows to integrate with a lot of different system. Doing so by using Camel components. One of these components is camel-jbpm that makes it possible/easier to use JBPM from Camel users.
http://camel.apache.org/jbpm
So if you have an existing BPM system and need to integrate with that from a Camel application or Java application, then using the camel-jpmn can make that (much) easier.
i want to install the apache camel tools for eclipse: http://tools.jboss.org/features/apachecamel.html
But how to install/ where to find camel tools? I tried to install JBoss Tools from eclipse marketplace but didn't find camel on selection screen. (don't want all tools)
I also tried the update site mentioned here http://tools.jboss.org/blog/2014-04-14-JBTIS-4.html but the only "camel" thing is "JBoss Fuse Camel Editor Feature" is this it?
Besides the visualizing of routes i want to see jmx stuff that is exposed by my camel app.
The blog entry from Paul Leacu provides the correct information. There are currently 3 features which are named like "JBoss Fuse ...".
The Camel Editor feature provides the editor for designing your Camel Routes and to launch them on your local machine.
Then there is the Fuse Server Adapter feature which provides some server adapters for starting / stopping / installing Apache ServiceMix, Apache Karaf and JBoss Fuse servers.
Finally there is the Fuse Runtime feature which provides the JMX stuff you are looking for and the Fabric related functionality.
I made a short install guide on how to install JBoss Fuse Tooling without JBDS and/or the integration stack. You can find the guide here.
Is there a code coverage/quality tool (like Sonar) that works well with Camel routes? I've been doing some analysis with sample builds of camel routes to find nothing registers inside of Sonar after running my junits through Jenkins.
The route DSL configures the Camel framework to run integrations.
You need to know why you need code coverage reports out of your Camel apps and exactly what they should tell you.
Camel routes can be written in a wide variety of ways. XML DSL, Groovy DSL, Java DSL etc.. Then even writing Java DSL, you may have the heavy logic inside expressions and scripts, such as simple/groovy/xslt.
There is no way for any single tool to figure out that you have written perfect Java and XML and Groovy and Scala and XSLT and ... in a Camel/integration perspective.
Define test cases and write decent integration/unit tests for your routes and use sonar for coverage of java processors/beans. That is straight forward.