@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2014 the original author or authors .
* Copyright 2002 - 2015 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -25,21 +25,20 @@ import java.lang.annotation.Target;
@@ -25,21 +25,20 @@ import java.lang.annotation.Target;
import org.springframework.messaging.handler.annotation.MessageMapping ;
/ * *
* Annotation that marks a method to be the target of a JMS message
* listener on the specified { @link # destination } . The { @link # containerFactory }
* identifies the { @link org . springframework . jms . config . JmsListenerContainerFactory
* JmsListenerContainerFactory } to use to build the JMS listener container . If not
* set , a < em > default < / em > container factory is assumed to be available with a bean
* name of { @code jmsListenerContainerFactory } unless an explicit default has been
* provided through configuration .
* Annotation that marks a method to be the target of a JMS message listener on the
* specified { @link # destination } . The { @link # containerFactory } identifies the
* { @link org . springframework . jms . config . JmsListenerContainerFactory } to use to build
* the JMS listener container . If not set , a < em > default < / em > container factory is
* assumed to be available with a bean name of { @code jmsListenerContainerFactory }
* unless an explicit default has been provided through configuration .
*
* < p > Processing of { @code @JmsListener } annotations is performed by
* registering a { @link JmsListenerAnnotationBeanPostProcessor } . This can be
* done manually or , more conveniently , through the { @code < jms : annotation - driven / > }
* element or { @link EnableJms @EnableJms } annotation .
* < p > Processing of { @code @JmsListener } annotations is performed by registering a
* { @link JmsListenerAnnotationBeanPostProcessor } . This can be done manually or ,
* more conveniently , through the { @code < jms : annotation - driven / > } element or
* { @link EnableJms @EnableJms } annotation .
*
* < p > Annotated methods are allowed to have flexible signatures similar to what
* { @link MessageMapping } provides :
* < p > Annotated JMS listener methods are allowed to have flexible signatures similar
* to what { @link MessageMapping } provides :
* < ul >
* < li > { @link javax . jms . Session } to get access to the JMS session < / li >
* < li > { @link javax . jms . Message } or one of its subclasses to get access to the raw JMS message < / li >
@ -48,15 +47,15 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
@@ -48,15 +47,15 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
* arguments , including support for validation < / li >
* < li > { @link org . springframework . messaging . handler . annotation . Header @Header } - annotated method
* arguments to extract specific header values , including standard JMS headers defined by
* { @link org . springframework . jms . support . JmsHeaders JmsHeaders } < / li >
* { @link org . springframework . jms . support . JmsHeaders } < / li >
* < li > { @link org . springframework . messaging . handler . annotation . Headers @Headers } - annotated
* method argument that must also be assignable to { @link java . util . Map } for obtaining access to all
* headers < / li >
* < li > { @link org . springframework . messaging . MessageHeaders MessageHeaders } arguments for
* obtaining access to all headers < / li >
* < li > { @link org . springframework . messaging . support . MessageHeaderAccessor MessageHeaderAccessor }
* or { @link org . springframework . jms . support . JmsMessageHeaderAccessor JmsMessageHeaderAccessor }
* for convenient access to all method arguments < / li >
* method argument that must also be assignable to { @link java . util . Map } for obtaining
* access to all headers < / li >
* < li > { @link org . springframework . messaging . MessageHeaders } arguments for obtaining
* access to all headers < / li >
* < li > { @link org . springframework . messaging . support . MessageHeaderAccessor } or
* { @link org . springframework . jms . support . JmsMessageHeaderAccessor } for convenient
* access to all method arguments < / li >
* < / ul >
*
* < p > Annotated methods may have a non - { @code void } return type . When they do ,
@ -73,8 +72,8 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
@@ -73,8 +72,8 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
* /
@Target ( { ElementType . METHOD , ElementType . ANNOTATION_TYPE } )
@Retention ( RetentionPolicy . RUNTIME )
@MessageMapping
@Documented
@MessageMapping
public @interface JmsListener {
/ * *
@ -85,7 +84,7 @@ public @interface JmsListener {
@@ -85,7 +84,7 @@ public @interface JmsListener {
String id ( ) default "" ;
/ * *
* The bean name of the { @link org . springframework . jms . config . JmsListenerContainerFactory JmsListenerContainerFactory }
* The bean name of the { @link org . springframework . jms . config . JmsListenerContainerFactory }
* to use to create the message listener container responsible for serving this endpoint .
* < p > If not specified , the default container factory is used , if any .
* /
@ -93,8 +92,7 @@ public @interface JmsListener {
@@ -93,8 +92,7 @@ public @interface JmsListener {
/ * *
* The destination name for this listener , resolved through the container - wide
* { @link org . springframework . jms . support . destination . DestinationResolver DestinationResolver }
* strategy .
* { @link org . springframework . jms . support . destination . DestinationResolver } strategy .
* /
String destination ( ) ;