public static class MatsTestBrokerInterface.MatsTestBrokerInterface_JmsMatsFactory extends java.lang.Object implements MatsTestBrokerInterface
MatsTestBrokerInterface.MatsMessageRepresentation, MatsTestBrokerInterface.MatsTestBrokerInterface_JmsMatsFactory
Modifier and Type | Method and Description |
---|---|
MatsTestBrokerInterface.MatsTestBrokerInterface_JmsMatsFactory |
_latePopulate(javax.jms.ConnectionFactory connectionFactory,
MatsFactory matsFactory)
This method is most probably not for you!.
|
protected void |
checkCorrectSetup() |
MatsTestBrokerInterface.MatsMessageRepresentation |
getDlqMessage(java.lang.String endpointOrStageId)
Waits a couple of seconds for a message to appear on the Dead Letter Queue for the provided endpoint- or
stageId (Queue name "DLQ."+matsendpointPrefix+endpointOrStageId) - and also checks the standard common
ActiveMQ DLQ (Queue name "ActiveMQ.DLQ") in case the broker is not configured with specific DLQs per Queue,
which is relevant if you fire up an unmodified ActiveMQ distribution on the command line, check the
MatsTestBroker class JavaDoc for how to use an external MQ instead of the in-VM which otherwise is
fired up. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
create, createForLaterPopulation
public MatsTestBrokerInterface.MatsTestBrokerInterface_JmsMatsFactory _latePopulate(javax.jms.ConnectionFactory connectionFactory, MatsFactory matsFactory)
MatsTestBrokerInterface
SpringJmsMatsFactoryWrapper
, by
reflection invocation when it is both on classpath and as an instance in the Spring context, to perform "late
setting" of the properties which the tool needs to perform its job. (Reason for reflection: This class resides in
the 'mats-test' project - which is for testing, while the SpringJmsMatsFactoryWrapper
is in the
'mats-spring-jms' project - which is for "production").
The matsFactory parameter currently needs to be a JmsMatsFactory. We need all of the following from it
matsFactory.getFactoryConfig().getMatsDestinationPrefix()
(standard MatsFactory)matsFactory.getFactoryConfig().getMatsTraceKey()
(standard MatsFactory)MatsInterceptable
, which JmsMatsFactory is)MatsSerializer
to provide access to contents from messages (from JmsMatsFactory)MatsFactory.MatsFactoryWrapper
, but it must resolve to a
JmsMatsFactory
via the MatsFactory.unwrapFully()
! Otherwise, it'll throw an
IllegalArgumentException
._latePopulate
in interface MatsTestBrokerInterface
this
protected void checkCorrectSetup()
public MatsTestBrokerInterface.MatsMessageRepresentation getDlqMessage(java.lang.String endpointOrStageId)
MatsTestBroker
class JavaDoc for how to use an external MQ instead of the in-VM which otherwise is
fired up. (NOTE: It is HIGHLY suggested to use the "specific DLQ" pattern in any production setting, as this
is much easier to reason about when ugly things starts hitting fans).getDlqMessage
in interface MatsTestBrokerInterface
endpointOrStageId
- the endpoint which is expected to generate a DLQ message.MatsTrace
of the DLQ'ed message.