public class RabbitListenerTestHarness extends RabbitListenerAnnotationBeanPostProcessor
RabbitListenerAnnotationBeanPostProcessor
.
Wraps the listener bean in a CGLIB proxy with an advice to capture the arguments
and result (if any) in a blocking queue. Test cases can access the results
by autowiring the test harness into test cases.Modifier and Type | Class and Description |
---|---|
static class |
RabbitListenerTestHarness.InvocationData |
DEFAULT_RABBIT_LISTENER_CONTAINER_FACTORY_BEAN_NAME, RABBIT_EMPTY_STRING_ARGUMENTS_PROPERTY
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
RabbitListenerTestHarness(AnnotationMetadata importMetadata) |
Modifier and Type | Method and Description |
---|---|
<T> T |
getDelegate(String id)
Get the actual listener object (not the spy).
|
<T> LambdaAnswer<T> |
getLambdaAnswerFor(String id,
boolean callRealMethod,
LambdaAnswer.ValueToReturn<T> callback)
Return a
LambdaAnswer that is properly configured to invoke the listener. |
LatchCountDownAndCallRealMethodAnswer |
getLatchAnswerFor(String id,
int count)
Return a
LatchCountDownAndCallRealMethodAnswer that is properly configured
to invoke the listener. |
RabbitListenerTestHarness.InvocationData |
getNextInvocationDataFor(String id,
long wait,
TimeUnit unit) |
<T> T |
getSpy(String id) |
protected void |
processListener(MethodRabbitListenerEndpoint endpoint,
RabbitListener rabbitListener,
Object bean,
Object target,
String beanName) |
afterSingletonsInstantiated, assertBeanFactory, getOrder, noBeanFoundMessage, postProcessAfterInitialization, postProcessBeforeInitialization, processAmqpListener, setBeanClassLoader, setBeanFactory, setCharset, setContainerFactoryBeanName, setEndpointRegistry, setEnvironment, setMessageHandlerMethodFactory
public RabbitListenerTestHarness(AnnotationMetadata importMetadata)
protected void processListener(MethodRabbitListenerEndpoint endpoint, RabbitListener rabbitListener, Object bean, Object target, String beanName)
processListener
in class RabbitListenerAnnotationBeanPostProcessor
public LatchCountDownAndCallRealMethodAnswer getLatchAnswerFor(String id, int count)
LatchCountDownAndCallRealMethodAnswer
that is properly configured
to invoke the listener.id
- the listener id.count
- the count.public <T> LambdaAnswer<T> getLambdaAnswerFor(String id, boolean callRealMethod, LambdaAnswer.ValueToReturn<T> callback)
LambdaAnswer
that is properly configured to invoke the listener.T
- the return type.id
- the listener id.callRealMethod
- true to call the real method.callback
- the callback.public RabbitListenerTestHarness.InvocationData getNextInvocationDataFor(String id, long wait, TimeUnit unit) throws InterruptedException
InterruptedException
public <T> T getSpy(String id)
public <T> T getDelegate(String id)
T
- the type.id
- the id.