AMQP-430 Fix Package Tangle

JIRA: https://jira.spring.io/browse/AMQP-430

Annotation support introduced a tangle between config and annotation.

Polishing - Move Test Cases
This commit is contained in:
Gary Russell
2014-10-20 16:11:59 +03:00
committed by Artem Bilan
parent ef0b1834d8
commit fdd5ac9b20
46 changed files with 106 additions and 69 deletions

View File

@@ -26,7 +26,7 @@ import org.springframework.context.annotation.Import;
/**
* Enable Rabbit listener annotated endpoints that are created under the cover
* by a {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory
* by a {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
* RabbitListenerContainerFactory}. To be used on
* {@link org.springframework.context.annotation.Configuration Configuration}
* classes as follows:
@@ -98,7 +98,7 @@ import org.springframework.context.annotation.Import;
*
* Note that the created containers are not registered against the application context
* but can be easily located for management purposes using the
* {@link org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry RabbitListenerEndpointRegistry}.
* {@link org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry RabbitListenerEndpointRegistry}.
*
* <p>Annotated methods can use flexible signature; in particular, it is possible to use
* the {@link org.springframework.messaging.Message Message} abstraction and related annotations,
@@ -118,7 +118,7 @@ import org.springframework.context.annotation.Import;
*
* <p>When more control is desired, a {@code @Configuration} class may implement
* {@link RabbitListenerConfigurer}. This allows access to the underlying
* {@link org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar RabbitListenerEndpointRegistrar}
* {@link org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar RabbitListenerEndpointRegistrar}
* instance. The following example demonstrates how to specify an explicit default
* {@code RabbitListenerContainerFactory}
*
@@ -159,7 +159,7 @@ import org.springframework.context.annotation.Import;
* </beans>
* }</pre>
*
* It is also possible to specify a custom {@link org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry
* It is also possible to specify a custom {@link org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry
* RabbitListenerEndpointRegistry} in case you need more control on the way the containers
* are created and managed. The example below also demonstrates how to customize the
* {@code RabbitHandlerMethodFactory} to use with a custom {@link org.springframework.validation.Validator
@@ -255,8 +255,8 @@ import org.springframework.context.annotation.Import;
* @since 1.4
* @see RabbitListener
* @see RabbitListenerAnnotationBeanPostProcessor
* @see org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar
* @see org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry
* @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar
* @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)

View File

@@ -17,7 +17,7 @@
package org.springframework.amqp.rabbit.annotation;
import org.springframework.amqp.rabbit.config.RabbitListenerConfigUtils;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@@ -27,7 +27,7 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
/**
* Annotation that marks a method to be the target of a Rabbit message
* listener on the specified {@link #queues()}. The {@link #containerFactory()}
* identifies the {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory
* identifies the {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
* RabbitListenerContainerFactory} to use to build the rabbit listener container. If not
* set, a <em>default</em> container factory is assumed to be available with a bean
* name of {@code rabbitListenerContainerFactory} unless an explicit default has been
@@ -82,15 +82,15 @@ public @interface RabbitListener {
* The unique identifier of the container managing for this endpoint.
* <p>If none is specified an auto-generated one is provided.
* @return the {@code id} for the container managing for this endpoint.
* @see org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry#getListenerContainer(String)
* @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry#getListenerContainer(String)
*/
String id() default "";
/**
* The bean name of the {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory}
* The bean name of the {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory}
* to use to create the message listener container responsible to serve this endpoint.
* <p>If not specified, the default container factory is used, if any.
* @return the {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory}
* @return the {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory}
* bean name.
*/
String containerFactory() default "";

View File

@@ -20,12 +20,12 @@ import java.lang.reflect.Method;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.springframework.amqp.rabbit.config.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.RabbitListenerConfigUtils;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.aop.support.AopUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
@@ -48,7 +48,7 @@ import org.springframework.util.StringUtils;
/**
* Bean post-processor that registers methods annotated with {@link RabbitListener}
* to be invoked by a AMQP message listener container created under the cover
* by a {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory}
* by a {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory}
* according to the parameters of the annotation.
*
* <p>Annotated methods can use flexible arguments as defined by {@link RabbitListener}.
@@ -70,14 +70,14 @@ import org.springframework.util.StringUtils;
* @see RabbitListenerConfigurer
* @see RabbitListenerEndpointRegistrar
* @see RabbitListenerEndpointRegistry
* @see org.springframework.amqp.rabbit.config.RabbitListenerEndpoint
* @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint
* @see MethodRabbitListenerEndpoint
*/
public class RabbitListenerAnnotationBeanPostProcessor
implements BeanPostProcessor, Ordered, BeanFactoryAware, SmartInitializingSingleton {
/**
* The bean name of the default {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory}.
* The bean name of the default {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory}.
*/
static final String DEFAULT_RABBIT_LISTENER_CONTAINER_FACTORY_BEAN_NAME = "rabbitListenerContainerFactory";

View File

@@ -17,13 +17,13 @@
package org.springframework.amqp.rabbit.annotation;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
/**
* Optional interface to be implemented by Spring managed bean willing
* to customize how Rabbit listener endpoints are configured. Typically
* used to defined the default
* {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory
* {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
* RabbitListenerContainerFactory} to use or for registering Rabbit endpoints
* in a <em>programmatic</em> fashion as opposed to the <em>declarative</em>
* approach of using the @{@link RabbitListener} annotation.
@@ -33,16 +33,16 @@ import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar;
* @author Stephane Nicoll
* @since 1.4
* @see EnableRabbit
* @see org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar
* @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar
*/
public interface RabbitListenerConfigurer {
/**
* Callback allowing a {@link org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry
* RabbitListenerEndpointRegistry} and specific {@link org.springframework.amqp.rabbit.config.RabbitListenerEndpoint
* Callback allowing a {@link org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry
* RabbitListenerEndpointRegistry} and specific {@link org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint
* RabbitListenerEndpoint} instances to be registered against the given
* {@link RabbitListenerEndpointRegistrar}. The default
* {@link org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory RabbitListenerContainerFactory}
* {@link org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory RabbitListenerContainerFactory}
* can also be customized.
* @param registrar the registrar to be configured
*/

View File

@@ -25,6 +25,8 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.core.AcknowledgeMode;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.util.ErrorHandler;

View File

@@ -19,6 +19,7 @@ package org.springframework.amqp.rabbit.config;
import org.w3c.dom.Element;
import org.springframework.amqp.rabbit.annotation.RabbitListenerAnnotationBeanPostProcessor;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanDefinitionHolder;
import org.springframework.beans.factory.parsing.BeanComponentDefinition;

View File

@@ -20,6 +20,7 @@ import java.util.concurrent.Executor;
import org.aopalliance.aop.Advice;
import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.transaction.PlatformTransactionManager;

View File

@@ -18,7 +18,9 @@ package org.springframework.amqp.rabbit.config;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.rabbit.listener.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
/**
* A {@link RabbitListenerEndpoint} simply providing the {@link MessageListener} to

View File

@@ -14,9 +14,10 @@ package org.springframework.amqp.rabbit.config;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.ImmediateAcknowledgeAmqpException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.listener.FatalListenerExecutionException;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerExecutionException;
import org.springframework.amqp.rabbit.retry.MessageKeyGenerator;
import org.springframework.amqp.rabbit.retry.MessageRecoverer;
import org.springframework.amqp.rabbit.retry.NewMessageIdentifier;

View File

@@ -33,6 +33,8 @@ import org.springframework.amqp.rabbit.connection.RabbitAccessor;
import org.springframework.amqp.rabbit.connection.RabbitResourceHolder;
import org.springframework.amqp.rabbit.connection.RabbitUtils;
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerExecutionException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.DisposableBean;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import java.util.ArrayList;
import java.util.Arrays;
@@ -24,9 +24,8 @@ import java.util.Map;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.util.Assert;
/**

View File

@@ -43,6 +43,8 @@ import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils;
import org.springframework.amqp.rabbit.connection.RabbitResourceHolder;
import org.springframework.amqp.rabbit.connection.RabbitUtils;
import org.springframework.amqp.rabbit.listener.exception.ConsumerCancelledException;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException;
import org.springframework.amqp.rabbit.support.MessagePropertiesConverter;
import org.springframework.amqp.rabbit.support.RabbitExceptionTranslator;

View File

@@ -19,6 +19,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.converter.MessageConversionException;
import org.springframework.util.ErrorHandler;

View File

@@ -14,13 +14,12 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import java.lang.reflect.Method;
import java.util.Arrays;
import org.springframework.amqp.core.Address;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.core.annotation.AnnotationUtils;

View File

@@ -15,6 +15,8 @@
*/
package org.springframework.amqp.rabbit.listener;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException;
/**
* This exception indicates that a consumer could not be started because none of
* its queues are available for listening.

View File

@@ -14,10 +14,9 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
/**
* Factory of {@link MessageListenerContainer} based on a

View File

@@ -14,9 +14,8 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
/**
* Model for a Rabbit listener endpoint. Can be used against a

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import java.util.ArrayList;
import java.util.List;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import java.util.Collection;
import java.util.Collections;
@@ -25,7 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.beans.factory.BeanInitializationException;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

View File

@@ -45,6 +45,10 @@ import org.springframework.amqp.rabbit.connection.ConsumerChannelRegistry;
import org.springframework.amqp.rabbit.connection.RabbitResourceHolder;
import org.springframework.amqp.rabbit.connection.RabbitUtils;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.listener.exception.ConsumerCancelledException;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerExecutionException;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverter;
import org.springframework.amqp.rabbit.support.MessagePropertiesConverter;
import org.springframework.aop.Pointcut;

View File

@@ -25,7 +25,7 @@ import org.springframework.amqp.AmqpIllegalStateException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.amqp.support.converter.SimpleMessageConverter;
import org.springframework.util.Assert;

View File

@@ -17,7 +17,7 @@
package org.springframework.amqp.rabbit.listener.adapter;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.AmqpHeaderMapper;
import org.springframework.amqp.support.converter.MessageConversionException;
import org.springframework.amqp.support.converter.MessageConverter;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.amqp.rabbit.listener;
package org.springframework.amqp.rabbit.listener.exception;
/**
* Thrown when the broker cancels the consumer and the message

View File

@@ -11,7 +11,7 @@
* specific language governing permissions and limitations under the License.
*/
package org.springframework.amqp.rabbit.listener;
package org.springframework.amqp.rabbit.listener.exception;
import org.springframework.amqp.AmqpException;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;

View File

@@ -11,7 +11,7 @@
* specific language governing permissions and limitations under the License.
*/
package org.springframework.amqp.rabbit.listener;
package org.springframework.amqp.rabbit.listener.exception;
import org.springframework.amqp.AmqpException;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.listener;
package org.springframework.amqp.rabbit.listener.exception;
import org.springframework.amqp.AmqpException;
import org.springframework.amqp.core.Message;

View File

@@ -0,0 +1,4 @@
/**
* Provides classes for listener exceptions.
*/
package org.springframework.amqp.rabbit.listener.exception;

View File

@@ -25,7 +25,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.retry.policy.RetryContextCache;
import org.springframework.util.Assert;

View File

@@ -20,7 +20,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
/**
* MessageRecover that causes the listener container to reject

View File

@@ -409,13 +409,13 @@
<xsd:attribute name="registry" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry
Specifies the org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry
instance to use to register annotated listener endpoints. If not provided, a default
instance will be used by default.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry"/>
<tool:expected-type type="org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
@@ -423,7 +423,7 @@
<xsd:attribute name="container-factory" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation><![CDATA[
Specifies the org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory instance
Specifies the org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory instance
to use to create the container for a listener endpoint that does not define a specific
factory. This permits in practice to omit the "containerFactory" attribute of the RabbitListener
annotation. This attribute is not required as each endpoint may define the factory to use and,
@@ -432,7 +432,7 @@
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation kind="ref">
<tool:expected-type type="org.springframework.amqp.rabbit.config.RabbitListenerContainerFactory"/>
<tool:expected-type type="org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>

View File

@@ -32,12 +32,12 @@ import org.junit.rules.ExpectedException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.config.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter;
import org.springframework.context.ApplicationContext;
@@ -230,7 +230,7 @@ public abstract class AbstractRabbitAnnotationDrivenTests {
* Test for {@link ValidationBean} with a validator ({@link TestValidator}) specified
* in a custom {@link org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory}.
*
* The test should throw a {@link org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException}
* The test should throw a {@link org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException}
*/
public void testRabbitHandlerMethodFactoryConfiguration(ApplicationContext context) throws Exception {
RabbitListenerContainerTestFactory simpleFactory =

View File

@@ -21,9 +21,9 @@ import org.hamcrest.core.Is;
import org.junit.Test;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

View File

@@ -26,12 +26,12 @@ import org.junit.rules.ExpectedException;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

View File

@@ -27,12 +27,12 @@ import java.lang.annotation.Target;
import org.junit.Test;
import org.springframework.amqp.rabbit.config.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.MessageListenerTestContainer;
import org.springframework.amqp.rabbit.config.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpoint;
import org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.listener.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

View File

@@ -17,6 +17,7 @@
package org.springframework.amqp.rabbit.config;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

View File

@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.Map;
import com.rabbitmq.client.Channel;
import org.junit.Before;
import org.junit.Test;
@@ -29,6 +30,8 @@ import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.test.MessageTestUtils;
import org.springframework.amqp.support.converter.MessageConversionException;

View File

@@ -20,6 +20,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import org.springframework.amqp.rabbit.listener.AbstractRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpoint;
/**
*
* @author Stephane Nicoll

View File

@@ -55,6 +55,7 @@ import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.test.BrokerRunning;
import org.springframework.amqp.rabbit.test.BrokerTestUtils;
import org.springframework.amqp.support.converter.MessageConversionException;

View File

@@ -47,6 +47,7 @@ import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException;
import org.springframework.amqp.rabbit.test.BrokerRunning;
import org.springframework.amqp.rabbit.test.BrokerTestUtils;
import org.springframework.amqp.rabbit.test.Log4jLevelAdjuster;

View File

@@ -36,6 +36,7 @@ import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.amqp.rabbit.listener.exception.FatalListenerExecutionException;
import org.springframework.amqp.rabbit.test.BrokerRunning;
import org.springframework.amqp.rabbit.test.BrokerTestUtils;
import org.springframework.amqp.rabbit.test.Log4jLevelAdjuster;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -42,11 +42,12 @@ import org.mockito.ArgumentCaptor;
import org.springframework.amqp.core.Address;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.MessageListenerContainer;
import org.springframework.amqp.rabbit.listener.MethodRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter;
import org.springframework.amqp.rabbit.listener.adapter.ReplyFailureException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.amqp.support.AmqpMessageHeaderAccessor;
import org.springframework.amqp.support.converter.MessageConversionException;

View File

@@ -14,13 +14,17 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
import org.springframework.beans.factory.support.StaticListableBeanFactory;
import static org.junit.Assert.*;

View File

@@ -14,12 +14,16 @@
* limitations under the License.
*/
package org.springframework.amqp.rabbit.config;
package org.springframework.amqp.rabbit.listener;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerEndpoint;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
/**
*
* @author Stephane Nicoll

View File

@@ -27,7 +27,7 @@ import java.lang.reflect.Method;
import org.junit.Before;
import org.junit.Test;
import org.springframework.amqp.rabbit.listener.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.support.StaticListableBeanFactory;
import org.springframework.messaging.Message;

View File

@@ -12,7 +12,7 @@
<bean class="org.springframework.amqp.rabbit.annotation.AbstractRabbitAnnotationDrivenTests$CustomBean"/>
<bean id="customRegistry" class="org.springframework.amqp.rabbit.config.RabbitListenerEndpointRegistry"/>
<bean id="customRegistry" class="org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry"/>
<bean id="rabbitListenerContainerFactory"
class="org.springframework.amqp.rabbit.config.RabbitListenerContainerTestFactory"/>