testing apache fuse fabric ( fuse 6.3 ) confused on steps required - apache-camel

basically new to apache fabric, I've read the docs able to find, but leads to confusion on what is required for the fabric and how to add and configure existing karaf containers.
I'm just confused on what I need to do next, as to not corrupt or break the system. and how to effectively add existing containers to the fabric.
also, do I need to add the activeMQ brokers to the 3 fabric servers to make the fabric work?
I have 3 fabric servers built, 3 nodes for registry, etc...
[id] [version] [type] [connected] [profiles]
[provision status]
fabric1-server* 1.0 karaf yes fabric
success
jboss-fuse-full
fabric-ensemble-0001-1
fabric2-server 1.0 karaf yes fabric
success
fabric-ensemble-0001-2
fabric3-server 1.0 karaf yes fabric
success
fabric-ensemble-0001-3
I've found a doc that says if you use .cfg files in BASE/etc you can simply convert these .cfg to .properties.
thanks so much for your input and help

I found out that apache fuse fabric project will end in 2022. Since I really wanted to use the fabric for failover purposes, I have decided to not use fuse fabric and going to implement using heartbeat/Pacemaker/Corosync.
thanks everyone!

Related

Can Apache Camel integrate with an old component version?

I wonder if it is possible to integrate an old version of a Camel component, with an application of a newer Apache Camel version. In my case I want to integrate to Hbase server version 1.2, that is supported only with HBase client 1.2. Therefore even though I want to use a 3.1 Camel version, I want to use the 3.0.1 version of Camel-HBase component. Is it a fine thing to do?
Or is there any place that I can see the versions of the libraries Apache Camel supports?
You can check the Camel dependencies POM to find the versions of dependencies that are imported by the different components.
See the dependencies POM of Camel 3.10.x. You will find <hbase-version>2.3.1</hbase-version> in it.
Another source is Maven Central where you can see the dependency versions of a specific Camel component version.
See Camel-HBase 3.1.0 that references Hbase-client 1.2.6.
However, normally one cannot choose the Camel version to match a specific component dependency version. In general it is the other way round. You want or have to work with an already existing version or you want to use a current version to get the best of the framework.
If you build a new application with Camel 3.10.x, you get the hbase-client in version 2.3.1.
If newer Hbase client versions are not compatible with Hbase 1.2 it becomes difficult.
you get lots of problems when you mix and match Camel component versions
even if you can build your application with an older Camel version, you could never upgrade
The only solution I see would be to isolate the Hbase integration in its own (freezed) application with an older Camel version that matches your desired Hbase-client version.

Use Camel 2.18.x version with Jboss-fuse-karaf-6.3.0.redhat-187

I am using camel-salesforce component in jboss-fuse-karaf-6.3.0.redhat-187. Camel version 2.18.x provide replay with push-topic. If the client subscription got lost we can replay the old notification.
As per Red hat component details page , JBoss Fuse 6.3 support camel version 2.17.0.
https://access.redhat.com/articles/348423
Is there any way we can use camel 2.18.x version with jboss-fuse-karaf-6.3.0.redhat-187, so we use salesforce replay.
Will highlty appreciate if someone could provide any link , document or any red hat jira issue.
We already tried different stuff
1.) Try to merge 2.18 replay classes with 2.17 , there is lot of changes in 30-40 classes so tough doable.
2.) Try to build with 2.18 classes with 2.17 jars .Still not worked with karaf
3.) Fuse 6.3 not support camel 2.18.x so directly using 2.18 not making sense.
Kindly let me know if need any further information.
Thank you so much in advance.
No you should use the version that is shipped with JBoss Fuse, that is the certified version. Use Red Hat customer portal to get help/support with your fuse product. If there is a bug/feature in camel-salesforce you are looking for in JBoss Fuse 6.3 that is only available in later Camel release, then the Red Hat team can help you by looking into whether that can be backported and provided to you or what else you can do.

How to install/ where to find jboss/fuse apache camel tools stand alone

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 Fuse Fabric free to use in production? Can I use it with ServiceMix?

Fuse Fabric http://fuse.fusesource.org/fabric/index would offer usable features for clustering my ServiceMix solution and it's Camel routes.
Is Fuse Fabric free to use in production? I see mention of Apache 2.0 license in FAQ, but that does yet guarantee that it can be used for no cost
Can it be used with standalone ServiceMix or only with Fuse ESB/JBoss Fuse?
I did see related post https://stackoverflow.com/a/16163165/1469083 that says "Fuse Fabric is in the process of being donated to Apache ServiceMix...", what does this mean exactly and what is the status of this?
Fabric is an OpenSource project, so if you want to use it with ServiceMix, you can. Licence is only involved if you want support from RedHat by buying http://fusesource.com/products/fuse-esb-enterprise/.
Good luck with it,
Gergely
Fuse Fabric is a 100% free and open source project. Its ASL 2.0 licensed. You can grab the source code and use it anyhow you like accordingly to the ASL 2.0 license terms.
The source code is hosted on github at: https://github.com/jboss-fuse/fuse
Fuse Fabric is provided out of the box in the Red Hat JBoss Fuse
product. And this product requires a subscription to use in
production. You can download and try JBoss Fuse and use it as a developer as long you want etc. But a subscription is required for production. Remember this is a product from a commerical vendor, eg Red Hat, and its a business. And someone need to pay the salaries to the great minds that work on these projects. After all we all need food and beers :)
Though to reiterate you can grab the source code for fuse fabric from github and use it anyhow / fork it / contribute to the project etc. We love contributions btw.
And you can build your own binaries to use form the source code. Or grab the binaries from maven central, which is released from time to time.
And Fuse Fabric is still in process of being donated to Apache. This
kind of donation takes time, so have patience. Such a process involves layers, and whatnot, so when layers come in the picture everything takes a long time.

What are the development differences between Apache products and Redhat Fuse?

We have been using the Apache ActiveMQ and Camel products for a while now but want to look at a good base ESB. I've been reading the Redhat site about Fuse but have been unable to find a good summary of the significant differences between Fuse and Apache for coders.
From a designer's/developer's point of view what are the significant differences between Fuse and the Apache Camel and ActiveMQ that we have been using? I get the lovely overview stuff, FuseIDE and the ESB management tools. But I really just want to know of the differences at the code level, i.e. does it introduce more useful Camel endpoints? are there additional libraries of genuinely useful things that will make my life as a designer/coder easier? are there any pitfalls to look out for?
I just need a few pointers to help me in my search, not a tome. Or better still a quick link to a document that goes over all this (ever hopeful :o) !) I have a short time to form a view to go forward on or the opportunity will pass me by.
Thank you.
SK
At the code level there is "no" difference. The process is that we develop on the Apache projects, and sync the code changes to Red Hat / Fuse git repos. There we cherry pick the changes we want to go into our branches, to keep the product stable. As well backport fixes to older branches if our customers need that / etc (eg you can influence that)
The products from Red Hat is also supported on a much longer timespan than the community support from Apache. There is a guranteed lifetime which you can find here: https://access.redhat.com/support/policy/updates/jboss_notes/
There is only a few additional Camel components from Fuse / JBoss Fuse products, which is part of the open source project Fuse Fabric (http://fuse.fusesource.org/fabric/) which is part of the JBoss Fuse products. Fuse Fabric is in the process of being donated to Apache ServiceMix, so it can benefit that community as well, allowing ServiceMix to bundle Fabric out of the box as well. Fabric has a few Camel components that allows sending messages to a any Camel endpoint that load balances automatic in a clustered environment / cloud environment. And there is another Camel component for selecting a master, and only run the route on the master node, and if the master dies, then another node takes over.
I also think that this move is a testimony of the open source
willingness the Fuse team has and continues to have. We do as much as possible
in the opening. For example the new project - hawtio (http://hawt.io/)
is also fully open source, ASL license, github project, anyone can contribute/fork etc.
And the JBoss Fuse product allows to patch itself in production. So if you need a hotfix asap, we can provide a fix as a .zip file which can be patched using a built-in patch tool in the product. This isn't possible from Apache.
A few links for further material (from our old site and the jboss community site)
http://fusesource.com/enterprise-support/support-offerings/
http://fusesource.com/community/apache-committers-and-fuse/
http://www.jboss.org/products/fuse
http://www.davsclaus.com/2013/04/apache-camel-web-dashboard-with-hawtio.html
Disclosure: I work for Fusesource / Red Hat.
On a code level, the difference is very small, if any at all.
What you get from the commersial RedHat package is support, a package that has been tested and operational benefits (that you mention).
It's all about what happends after the code is made - when you put your things to production and the coder is not still around to handle incidents.
Apache ActiveMQ and Camel are open source projects. Redhat fuse bundles them and possibly many other components into one package and so it can be used as one ESB package. I see the biggest difference as the support that you can get. You can get support for something that your organization has not produced. And the tools that comes with the package does help during development and maintenance in my view.

Resources