Top ActiveMQ Interview Questions(2020)
In this post we will look at Apache ActiveMQ Interview questions. Examples are provided with explanation.
What is Activemq?Apache ActiveMQ is message-oriented middleware (MOM), a category of software that sends messages between applications. Using standards-based, asynchronous communication, ActiveMQ allows loose coupling of the elements in an IT environment, which is often foundational to enterprise messaging and distributed applications. ActiveMQ translates messages from sender to receiver. It can connect multiple clients and servers and allows messages to be held in queue, instead of requiring both the client and server to be available simultaneously in order to communicate.
Features of Apache ActiveMQ?
- Supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python, PHP.
- Supports many advanced features such as Message Groups, Virtual Destinations, Wildcards and Composite Destinations.
- Can be used as an in memory JMS provider, ideal for unit testing JMS.
- Supports pluggable transport protocols such as in-VM, TCP, SSL, NIO, UDP, multicast, JGroups and JXTA transports.
- Supports very fast persistence using JDBC along with a high performance journal.
How Does Activemq Compare To Fuse Message Broker?Fuse Message Broker is a certified distribution of Apache ActiveMQ provided by FuseSource. FuseSource does all of its development and bug fixes as part of the Apache ActiveMQ community, so there are no functional differences between the two. FuseSource may do more frequent releases than Apache, so it is possible to get bug fixes from a Fuse Message Broker release sooner than from an official Apache ActiveMQ release. with other checks like automated code quality tests, syntax style review tools, and more.
What is JMS?JMS (Java Message Service) is an API that provides the facility to create, send and read messages. It provides loosely coupled, reliable and asynchronous communication. JMS is also known as a messaging service.
Difference between ActiveMQ or RabbitMQ?
- ActiveMQ is an open-source message broker is scripted in Java which is based on Java Message Service client.
- RabbitMQ is implemented on Advanced Message Queueing protocol.
What are clusters in Apache ActiveMQ?
ActiveMQ supports reliable high performance load balancing of messages on a queue across consumers. In enterprise integration, this scenario is known as the competing consumers pattern. The following figure illustrates the concept:
- The load is distributed in a very dynamic fashion. Additional consumers could be provisioned and attached to the queue in high load periods, without modifying any configuration in the queue, as the new consumer would behave as just another competing consumer. Better availability than systems using a load balancer. Load balancers usually rely on a monitorization system to find out which real-servers are unavailable. With competing consumers, a failed consumer will not be competing for messages and therefore messages not be delivered to it even without monitorization.