The Java Messaging Service is one of the oldest Java EE APIs, and it's been reactive since day one: just read the manifesto linked in the introduction of this chapter.
This recipe will show you how to use message-driven beans, or MDBs, to deliver and consume asynchronous messages with just a few annotations.