I am looking at ActiveMQ (Red Hat AMQ Broker in particular) and trying to find out what integrations/connectors are available apart of the supported protocols (JMS, AMQP, MQTT, OpenWire).
For Kafka, there is e.g. the Confluent hub, https://www.confluent.io/hub/. Is there something similar for ActiveMQ?
I am especially interested in reading & writing messages from
files
databases
HTTP
HDFS
Is there any out-of-the-box or existing 3rd party support, or do I need to implement it?
For a statement about things that Red Hat officially supports you should contact Red Hat directly.
I recommend you look at Apache Camel for 3rd party integrations for ActiveMQ brokers. Camel routes can be deployed directly on both ActiveMQ 5.x and ActiveMQ Artemis brokers. Camel can integrate with files, databases, HTTP, HDFS, JMS, AMQP, MQTT, STOMP, and many more (including Kafka).
Related
I'm using Apache ActiveMQ Artemis (N1) for my work, and recently I've got a task to send some messages to another ActiveMQ "Classic" (N2) which is used by another system. However, I don't know how should I write divert configurations at broker.xml file. Is it possible? Could you give an example of divert to another URL-address and queue. Where should I write login/password for connection to N2?
Diverts in ActiveMQ Artemis only work with local resources. To send messages to another instance of ActiveMQ Artemis you'd use a core bridge. However, that only works between instances of ActiveMQ Artemis. ActiveMQ "Classic" doesn't support the protocol which the core bridge uses.
In order to send messages from ActiveMQ Artemis to ActiveMQ "Classic" you'd need to use something like Camel or the JMS bridge shipped with ActiveMQ Artemis. Both of these solutions can be deployed as web applications using the embedded web application server in ActiveMQ Artemis. We ship examples of both. The Camel example is in examples/features/standard/camel/ and the JMS bridge example is in examples/submodules/inter-broker-bridge.
The only answer that I can find seems to say that the datapower appliance only support Websphere MQ, and it doesn't understand ActiveMQ brokers.
And, the documentation for Front Side Handler mentioned Queue managers, which ActiveMQ does not have.
Is there another way in datapower to fetch/poll messages from an activeMQ?
WDP does not support all possible brokers but just a few of them (Tibco, IBM etc). If you configure AMQ to provide a REST interface you can consume messages from it using plain HTTP instead of messaging.
REST/HTTP access to ActiveMQ won't be nearly as good as traditional OpenWire/AMQP connections. It will lack support for transactions and other things, but you can at least read messages.
I do not suggest using an ActiveMQ as messaging backbone for DataPower - go for IBM WebSphere MQ instead as they are nicely integrated. If you need to occasionally pull a message or two from an ActiveMQ broker - go for the above setup.
Both are open source ESB. So what are distinct features each of them have and in which scenarios/usecases, each should be used?
Apache camel is basically a Mediation engine which will help you to define
mediation and routing rules for your application,
whereas Activemq is a message broker that allows you to
send messages between producers and consumers using Java Messaging System (JMS)
Apache Camel can use ActiveMQ for forwarding of messages.
Both are altogether different types of systems, with different functionalities, and can not be compared
hope this helps!
Good luck!
RabbitMQ supports multiple protocols, AMQP, MQTT, STOMP, ....
When using PHP for example, it's easier to publish using the STOMP library since the PHP AMQP libraries requires compiled C code and is somewhat of a mission to setup if you don't have to.
On the JAVA side, apache camel with AMQP on spring is pretty straight forward.
Is it possible to setup a queue, publish to it via STOMP and then consume via AMQP and then again publish via AMQP and consume via STOMP if the message broker is RabbitMQ?
Yes, this should work, given that you have installed RabbitMQ's STOMP plugin on your RabbitMQ node(s).
The protocol only defines the communication between client and server and has no impact on a message itself.
You should note that using protocols other than AMQP will most likely come along with limitations and/or worse performance.
There also exist native PHP libraries for RabbitMQ that don't require compiling C code. Unfortunately, I cannot tell you which one is the best, because I am a Java guy ;-).
Currently I am researching open source message broker technology that can provide support for ebXML I would like to use Apache ActiveMQ.
I will be looking at supporting Oasis ebXML AS4 specification.
My question is, does Apache ActiveMQ as a JMS broker offer adequate support for ebXML, in particular ebXML 3 AS4?
Are there any alternative open source message broker technology more suited to ebXML?
Lastly is there a .NET interface library to support ebXML support via ActiveMQ?
Thanks in advance,
Marcus
What do you mean by "support"?
Apache ActiveMQ is a messaging component. It does not really care about the content in the messages, but should merly be seen as a transport channel.
Apache Camel comes bundle with ActiveMQ do support XML (parsing, transforming), but not ebXML explicitly.
Typically, explicit support for these industry standard EDI formats are rarely implemented in open source middleware. There might be some old java library open source out there ( ebXml OpenSource java implementation ), but nothing very active, unfortunately.