org.mule.transport.jms.integration
Interface JmsVendorConfiguration

All Superinterfaces:
NamedObject, ParameterizedConfiguration
All Known Implementing Classes:
ActiveMQJmsConfiguration

public interface JmsVendorConfiguration
extends ParameterizedConfiguration

Abstracts all the Jms Vendor specific configuration for the Jms integration test suite. An implementation of this class must be created for each Jms Vendor that gets tested. The integration tests use a fixed set of destination names since some Jms vendors require that all destinations are configured beforehand. The queue configurations that must be made available are: - 'in' Queue - 'middle' Queue - 'middle2' Queue - 'middle3' Queue - 'out' Queue - 'broadcast' Topic Also, there will need to be a QueueConnectionFactory, TopicConnectionFactory, XAQueueConnectionFactory and XATopicConnectionFactory available. These will be used to create JMS Connection objects using the getConnection(boolean, boolean) method of this class. Note that this class defines a single method for getMiddleDestinationName() but the AbstractJmsFunctionalTestCase will made available 'middle' destination references i.e. 'middle2' and 'middle3'. Fore more inforation about the JMS Integration tests see AbstractJmsFunctionalTestCase


Method Summary
 String getBroadcastDestinationName()
          The test broadcast topic name.
 Connection getConnection(boolean topic, boolean xa)
          Create a connection factory for the Jms profider being tested
 String getDeadLetterDestinationName()
          The test dead letter queue name.
 String getDeadLetterEndpoint()
          Returns the getDeadLetterDestinationName() in the form of an endpoint URI i.e.
 String getInboundDestinationName()
          The test inbound queue name.
 String getInboundEndpoint()
          Returns the getInboundDestinationName() in the form of an endpoint URI i.e.
 String getMiddleDestinationName()
          The test middle queue name.
 String getMiddleEndpoint()
          Returns the getMiddleDestinationName() in the form of an endpoint URI i.e.
 String getOutboundDestinationName()
          The test outbound queue name.
 String getOutboundEndpoint()
          Returns the getOutboundDestinationName() in the form of an endpoint URI i.e.
 String getProtocol()
          The protocol used for creating endpoints.
 long getSmallTimeout()
          Timeout in milliseconds used when checking that a message is NOT present.
 ConnectionFactory getTestConnectionFactory()
           
 long getTimeout()
          The timeout in milliseconds used when waiting for a message to arrive.
 String getTopicBroadcastEndpoint()
          Returns the getBroadcastDestinationName() in the form of an endpoint URI i.e.
 
Methods inherited from interface org.mule.tck.ParameterizedConfiguration
getProperties, initialise, isEnabled
 
Methods inherited from interface org.mule.api.NamedObject
getName
 

Method Detail

getConnection

Connection getConnection(boolean topic,
                         boolean xa)
                         throws Exception
Create a connection factory for the Jms profider being tested

Parameters:
topic - whether to use a topic or queue connection factory, for 1.1 implementations this proerty can be ignored
xa - whether to create an XA connection factory
Returns:
a new JMS connection
Throws:
Exception

getInboundEndpoint

String getInboundEndpoint()
Returns the getInboundDestinationName() in the form of an endpoint URI i.e. jms://in

Returns:
the Inbound JMS endpoint

getOutboundEndpoint

String getOutboundEndpoint()
Returns the getOutboundDestinationName() in the form of an endpoint URI i.e. jms://out

Returns:
the Outbound JMS endpoint

getMiddleEndpoint

String getMiddleEndpoint()
Returns the getMiddleDestinationName() in the form of an endpoint URI i.e. jms://middle

Returns:
the middle JMS endpoint

getTopicBroadcastEndpoint

String getTopicBroadcastEndpoint()
Returns the getBroadcastDestinationName() in the form of an endpoint URI i.e. jms://topic:broadcast

Returns:
the Broadcast JMS topic endpoint

getDeadLetterEndpoint

String getDeadLetterEndpoint()
Returns the getDeadLetterDestinationName() in the form of an endpoint URI i.e. jms://dlq

Returns:
the dead letter JMS endpoint

getInboundDestinationName

String getInboundDestinationName()
The test inbound queue name. For consistency this should always be 'in'. Note that you need to make sure that this queue is available in the the JMS provider being tested.

Returns:
The test inbound destination name

getOutboundDestinationName

String getOutboundDestinationName()
The test outbound queue name. For consistency this should always be 'out'. Note that you need to make sure that this queue is available in the the JMS provider being tested.

Returns:
The test outbound destination name

getMiddleDestinationName

String getMiddleDestinationName()
The test middle queue name. For consistency this should always be 'middle'. This value is used to create multiple middle queues, namely, 'middle', 'middle2', 'middle3'. You need to make sure that these queues are available in the the JMS provider being tested.

Returns:
The test middle destination name

getBroadcastDestinationName

String getBroadcastDestinationName()
The test broadcast topic name. For consistency this should always be 'broadcast'. Note that you need to make sure that this topic is available in the the JMS provider being tested.

Returns:
The test broadcast topic name

getDeadLetterDestinationName

String getDeadLetterDestinationName()
The test dead letter queue name. For consistency this should always be 'dlq'. Note that you need to make sure that this queue is available in the the JMS provider being tested.

Returns:
The test dead letterdestination name

getSmallTimeout

long getSmallTimeout()
Timeout in milliseconds used when checking that a message is NOT present. This is usually 1000-2000ms. It is customizable so that slow connections i.e. over a wAN can be accounted for.

Returns:
timeout in milliseconds used when checking that a message is NOT present

getTimeout

long getTimeout()
The timeout in milliseconds used when waiting for a message to arrive. This is usually 3000-5000ms. However, it is customizable so that slow connections i.e. over a wAN can be accounted for.

Returns:
The timeout used when waiting for a message to arrive

getProtocol

String getProtocol()
The protocol used for creating endpoints. This is usually 'jms' but for specific messaging transports such as WebsphereMQ the protocol will be the protocol of the transport i.e. 'wmq'.

Returns:
returns the transport protocol

getTestConnectionFactory

ConnectionFactory getTestConnectionFactory()
Returns:
a ConnectionFactory implementation used for unit testing of the provider, usually consisting of some mocked-up methods.


Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.