It rarely happens that there is a better language for writing any application in the absence of external restrictions. The popularity of Java for ESB seems to be based on the fact that they coordinate many other programs that are also written in Java. Although any language will work, they often produce and consume content for and from Java libraries, so it is beneficial for them to use the same libraries in adapters as their clients and servers.
A language that is not Java, but runs on the JVM and interacts well with Java, will have most of the benefits of Java for such software. Scala and Clojure come to mind as good options. Erlang also seems like the right choice, although it can be harder to sell to customers.
source share