A quick walk through to JMS(Java Message Service) frequently asked interview questions and answers. The lastest questions from 2020 are added to the list. 1. Introduction In this tutorial, We’ll learn about JMS interview questions that are frequently asked in 2020. As part of the interview, There are chances to ask some of the questions on JMS area if you ...
Read More »Home »
Using Docker to shove an existing application into some containers
I have finally got round to learning how to use Docker past the level of knowing what it is and does without ever using it. This is the first post that I have attempted to use Docker in and will probably be what I refer to whenever I start a new project (for Java or Kotlin anyway). This will be ...
Read More »Working with large messages using Apache Camel and ActiveMQ Artemis improved in upcoming Camel 2.21 release
Historically the Apache ActiveMQ message broker was originally created in a time where large messages was measured in MB and not in GB as you may do today. This is not the case with the next generation broker Apache ActiveMQ Artemis (or just Artemis) which has much better support for large messages. So its about time that the Camel team finally had ...
Read More »Java Message System Introduction
Java Message System In this article, I will talk about Message Orientated Middleware (MOM) and how it is implemented in Enterprise Java by JMS. Also, I will discuss the typical use cases which suit the use of JMS and different terminology used to talk about messaging solutions such as Publisher/Sender, Destination/Topic/Queue and Subscriber/Receiver. I will introduce the two types of ...
Read More »Beware of slow transaction callbacks in Spring
TL;DR If your application is failing to obtain new database connection, restarting ActiveMQ broker may help. Interested? The problem with performance Few months ago we experienced a production outage. Many requests were failing with all too familiar: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30003ms. at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:555) ~[HikariCP-2.4.7.jar:na] at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:188) ~[HikariCP-2.4.7.jar:na] at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147) ~[HikariCP-2.4.7.jar:na] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:99) ...
Read More »Building a horizontal JMS Bridge between two WildFly Servers using ActiveMQ Artemis
Sometimes it’s necessary to connect different Message Brokers together. In Enterprise Messaging this scenario is known as Bridging. It can be done with JMS and different protocols like AMQP, ActiveMQ Artemis core protocol. This blogpost focusses on Bridging with JMS and two Apache ActiveMQ Artemis Brokers running which are running in WildFly. What’s a JMS Bridge? JMS Bridges typically are ...
Read More »RabbitMQ retries using Spring Integration
I recently read about an approach to retry with RabbitMQ here and wanted to try a similar approach with Spring Integration, which provides an awesome set of integration abstractions. TL;DR the problem being solved is to retry a message(in case of failures in processing) a few times with a large delay between retries(say 10 mins +). The approach makes use of ...
Read More »Integrating with Rabbit MQ using Spring Integration Java DSL
I recently attended the Spring One conference 2016 in Las Vegas and had the good fortune to see from near and far some of the people that I have admired for a long time in the Software World. I personally met two of them who have actually merged some of my Spring Integration related minor contributions from a few years ago ...
Read More »Remote JMS with WildFly Swarm
I’m blogging about WildFly swarm again? Short version is: I needed a test for remote JMS access and refused to setup something complex like a complete application server. The idea was to have a simple WildFly Swarm application which has a queue and a topic configured. Both should be accessible remotely from a standalone Java application. While the topic receives ...
Read More »