Apache Activemq Interview Questions & Answers

5 avg. rating (100% score) - 5879 votes

Apache Activemq Interview Questions

    1. Question 1. What Is Activemq?

      Answer :

      Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service (JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server.

    2. Question 2. What Is Use Of Activemq Instead Of Other Options Like Database?

      Answer :

      • Activemq is used to reliably communicate between two distributed processes. It can store messages in a database to communicate between to processes, but as soon as the message is received you'd have to delete the message. That means a row insert and delete for each message. When you try to scale that up communicating thousands of messages per second, databases tend to fall over.
      • Message oriented middleware like ActiveMQ on the other hand are build to handle those use cases. They asume that messages in a healthy system will be deleted very quickly and can do optimizations to avoid the overhead. It can also push messages to consumers instead of a consumer having to poll for new message by doing a SQL query. This further reduces the latency involved in processing new messages being sent into the system.

    3. Question 3. What Is Jms?

      Answer :

      Java Message Service (JMS) is an application program interface (API) from Sun Microsystems that supports the formal communication known as messaging between computers in a network. Sun's JMS provides a common interface to standard messaging protocols and also to special messaging services in support of Java programs. ActiveMQ is based on JMS.

    4. Question 4. How Does Activemq Compare To Amqp ?

      Answer :

      AMQP stands for the Advanced Message Queue Protocol and is a specification for how messaging clients and brokers can interoperate. AMQP is a specification of a wire-level protocol for client to message broker communication. It is not a messaging system like ActiveMQ, but just a messaging protocol.

      ActiveMQ now implements AMQP 1.0

      ActiveMQ also supports other open wire protocols:

      •     OpenWire, a fast binary format
      •     Stomp, a simple and easily implemented text based-protocol
      •     MQTT, a compact binary format for limited devices on an unreliable network


      Through these protocols, ActiveMQ can support clients in C, C++, C#, Ruby, Python, Perl, PHP, Pike etc. AMQP is most similar to OpenWire, because both OpenWire and AMQP are designed for high performance messaging, through a binary (rather than text-based) format. As a text-based format, STOMP is much easier to implement, but gives somewhat slower performance.

    5. Question 5. How Do I Build But Disable The Unit Tests ?

      Answer :

      The test cases in ActiveMQ can take a very long time to run.

      To disable this you can try the following
      mvn install -Dmaven.test.skip=true

    6. Question 6. What Platforms Does Activemq Support?

      Answer :

      ActiveMQ 5.0-5.7 supports any Java platform of Java 5.0 or later. To run on 1.4 see these instructions. ActiveMQ 5.8-5.10 require Java 6 or higher and the releases from 5.11 onwards require Java 7 or later.

      ActiveMQ is based on J2EE 1.4 or later and so implements JMS 1.1 and a JCA 1.5 Resource Adaptor.

      We regularly test ActiveMQ on Windows, OS X, Linux though we're aware of folks who use AIX and Solaris too.

    7. Question 7. How Does Activemq Compare To Artemis?

      Answer :

      Artemis is the codename used for the HornetQ code that was donated to the Apache Foundation.

      It is possible that Artemis will eventually become the successor to ActiveMQ 5.x (and that it might eventually be branded as ActiveMQ 6.x), but no decision about that had been made as of April 2015 as documented in that month's ActiveMQ Board Report.

    8. Question 8. How Does Activemq Compare To Fuse Message Broker ?

      Answer :

      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.

    9. Question 9. Mention Few Features Of Activemq ?

      Answer :

      JMS compliance : ActiveMQ is an implementation of JMS ,so have all advantages that JMS have.

      Persistent : ActiveMQ has inbuilt KahaDB and it can be plugged to outside DB as well.

      Security : ActiveMQ provides authentication and authorization.

      Cluster : Many ActiveMQ broker can make cluster to work together.

      Client API : ActiveMQ provides client API for many languages.

    10. Question 10. How Does Openwire Compare To Stomp ?

      Answer :

      OpenWire is the native protocol that Apache ActiveMQ uses. It is designed for performance and size on the wire - sacrificing some ease of implementation with higher performance and reduced network bandwidth as a priority. OpenWire was first released in Apache ActiveMQ 4.0.

      Stomp is a simpler text based protocol which is designed to be very simple to implement in a few hours in any language or platform (e.g. you can use a telnet client to communicate via Stomp). A Stomp client is not going to be as efficient as an client that uses
      OpenWire, but it much simpler so you can generally be up and running with it much quicker.

    11. Question 11. How Can I Monitor The Connection With The Broker ?

      Answer :

      You can monitor the status of the connection with the broker via the addTransportListener() method on the ActiveMQConnection.

      This method takes a TransportListener which is notified as the connection is established & dropped. It also allows you to work with the Failover Transport yet still know the status of the connection.

    12. Question 12. How Does Activemq Compare To Spread Toolkit ?

      Answer :

      Spread Toolkit is a C++ library for messaging and only has partial support for JMS. It doesn't support durable messaging, transactions, XA or full JMS 1.1. It is also dependent on a native code Spread daemon running on the machine.

      Apache ActiveMQ on the other hand is the JMS provider used in Apache Geronimo and is J2EE 1.4 certified in Geronimo and is 100% pure Java. ActiveMQ supports transient and durable messaging, transactions, XA, J2EE 1.4, JMS 1.1, JCA 1.5 as well as heaps of different features like Message Groups and Clustering.

Popular Interview Questions

All Interview Questions

All Practice Tests

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Tutorial