0

I working on a project based on JavaEE 8 (Liberty 18.0.0.4) .

I want to know :
1) what is difference between embed activeMQ on my own application or integrate on Liberty application server then use JMS api ?
2) What is recommendation about embedded activeMQ ?

mah454
  • 1,571
  • 15
  • 38

1 Answers1

1

Whether or not ActiveMQ is embedded in your application, you can still use the JMS API to work with the broker.

I'd say the main difference between standalone and embedded use-cases are scale and management.

Embedded use-cases are typically small scale. For example, there may be only 1 client working with the broker (i.e. a client in the same JVM as the embedded broker). At most I would expect there to be a handful of clients connecting to an embedded broker. Embedded brokers are generally more resource constrained and therefore harder to scale up because they share the JVM and system resources with the application they are embedded into.

Embedded use-cases are also generally harder to manage. A standalone ActiveMQ broker will deploy a web console and expose remote HTTP and JMX management capabilities. Embedded brokers typically do not. That said, due to the generally small scale of embedded brokers management is not a significant concern.

Standalone brokers are easier to scale as they sit in their own JVM and oftentimes on their own hardware. Therefore, they can be easily tuned and given more resources. They are also usually easier to manage since they deploy a web console and expose remote HTTP and JMX management capabilities.

Justin Bertram
  • 29,372
  • 4
  • 21
  • 43