Messaging Queue enables asynchronous communication, where application puts a message onto a message queue and does not require an immediate response to continuing processing. The producer and consumer do not interact directly with each other, but they interact with message queue. This way of handling messages decouples the producer from the consumer so that they do not need to interact with the message queue simultaneously.
Spring Expression Language (SpEL) is a powerful expression language, which can be used for querying and manipulating an object graph at runtime. SpEL is available via XML or annotation, is evaluated during the bean creation time.