JMS takes messages from non java also.
It all depends on where you are listening to. I mean your application is in Java and the other application you are communication can be in VB.Net etc. VB.Net can read message from the Broker and you also read the message from the Broker. This can be done with mainframe system also.