    1   /***
    2    *
    3    * Copyright 2004 Protique Ltd
    4    *
    5    * Licensed under the Apache License, Version 2.0 (the "License");
    6    * you may not use this file except in compliance with the License.
    7    * You may obtain a copy of the License at
    8    *
    9    * http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   *
    17   **/
    18  package org.codehaus.activemq;
    19
    20  import javax.jms.Connection;
    21  import javax.jms.DeliveryMode;
    22  import javax.jms.Session;
    23
    24  /***
    25   * @version $Revision: 1.18 $
    26   */
    27  public class JmsTopicSendReceiveWithTwoConnectionsTest extends JmsSendReceiveTestSupport {
    28
    29      protected Connection sendConnection;
    30      protected Connection receiveConnection;
    31      protected Session receiveSession;
    32
    33      protected void setUp() throws Exception {
    34          super.setUp();
    35
    36          connectionFactory = createConnectionFactory();
    37
    38          sendConnection = createSendConnection();
    39          sendConnection.start();
    40
    41          receiveConnection = createReceiveConnection();
    42          receiveConnection.start();
    43
    44          System.out.println("Created sendConnection: " + sendConnection);
    45          System.out.println("Created receiveConnection: " + receiveConnection);
    46
    47          session = sendConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    48          receiveSession = receiveConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    49
    50          System.out.println("Created sendSession: " + session);
    51          System.out.println("Created receiveSession: " + receiveSession);
    52
    53          producer = session.createProducer(null);
    54          producer.setDeliveryMode(deliveryMode);
    55
    56          System.out.println("Created producer: " + producer + " delivery mode = " +
    57                  (deliveryMode == DeliveryMode.PERSISTENT ? "PERSISTENT" : "NON_PERSISTENT"));
    58
    59          if (topic) {
    60              consumerDestination = session.createTopic(getConsumerSubject());
    61              producerDestination = session.createTopic(getProducerSubject());
    62          }
    63          else {
    64              consumerDestination = session.createQueue(getConsumerSubject());
    65              producerDestination = session.createQueue(getProducerSubject());
    66          }
    67
    68          System.out.println("Created  consumer destination: " + consumerDestination + " of type: " + consumerDestination.getClass());
    69          System.out.println("Created  producer destination: " + producerDestination + " of type: " + producerDestination.getClass());
    70
    71          consumer = receiveSession.createConsumer(consumerDestination);
    72          consumer.setMessageListener(this);
    73
    74
    75          System.out.println("Started connections");
    76      }
    77
    78      protected Connection createReceiveConnection() throws Exception {
    79          return createConnection();
    80      }
    81
    82      protected Connection createSendConnection() throws Exception {
    83          return createConnection();
    84      }
    85
    86      protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
    87          return new ActiveMQConnectionFactory("vm://localhost");
    88      }
    89
    90      protected void tearDown() throws Exception {
    91          session.close();
    92          receiveSession.close();
    93          sendConnection.close();
    94          receiveConnection.close();
    95      }
    96  }