View Javadoc

1   /*
2    * $Id: JmsSupport.java 20321 2010-11-24 15:21:24Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.transport.jms;
12  
13  import org.mule.api.endpoint.ImmutableEndpoint;
14  
15  import javax.jms.Connection;
16  import javax.jms.ConnectionFactory;
17  import javax.jms.Destination;
18  import javax.jms.JMSException;
19  import javax.jms.Message;
20  import javax.jms.MessageConsumer;
21  import javax.jms.MessageProducer;
22  import javax.jms.Session;
23  
24  /**
25   * <code>JmsSupport</code> is an interface that provides a polymorphic facade to
26   * the JMS 1.0.2b and 1.1 API specifications. this interface is not intended for
27   * general purpose use and should only be used with the Mule JMS connector.
28   */
29  
30  public interface JmsSupport
31  {
32      Connection createConnection(ConnectionFactory connectionFactory) throws JMSException;
33  
34      Connection createConnection(ConnectionFactory connectionFactory, String username, String password)
35          throws JMSException;
36  
37      Session createSession(Connection connection,
38                            boolean topic,
39                            boolean transacted,
40                            int ackMode,
41                            boolean noLocal) throws JMSException;
42  
43      MessageProducer createProducer(Session session, Destination destination, boolean topic)
44          throws JMSException;
45  
46      MessageConsumer createConsumer(Session session,
47                                     Destination destination,
48                                     String messageSelector,
49                                     boolean noLocal,
50                                     String durableName,
51                                     boolean topic, ImmutableEndpoint endpoint) throws JMSException;
52  
53      MessageConsumer createConsumer(Session session, Destination destination, boolean topic, ImmutableEndpoint endpoint)
54          throws JMSException;
55  
56      Destination createDestination(Session session, String name, boolean topic, ImmutableEndpoint endpoint) throws JMSException;
57  
58      Destination createDestination(Session session, ImmutableEndpoint endpoint) throws JMSException;
59  
60      Destination createTemporaryDestination(Session session, boolean topic) throws JMSException;
61  
62      void send(MessageProducer producer, Message message, boolean topic, ImmutableEndpoint endpoint) throws JMSException;
63  
64      void send(MessageProducer producer,
65                Message message,
66                boolean persistent,
67                int priority,
68                long ttl,
69                boolean topic, ImmutableEndpoint endpoint) throws JMSException;
70  
71      void send(MessageProducer producer, Message message, Destination dest, boolean topic, ImmutableEndpoint endpoint) throws JMSException;
72  
73      void send(MessageProducer producer,
74                Message message,
75                Destination dest,
76                boolean persistent,
77                int priority,
78                long ttl,
79                boolean topic, ImmutableEndpoint endpoint) throws JMSException;
80  }