diff options
Diffstat (limited to 'java/client/src/test/java/org/apache/qpid/failover/FailoverRoundRobinTest.java')
-rw-r--r-- | java/client/src/test/java/org/apache/qpid/failover/FailoverRoundRobinTest.java | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/java/client/src/test/java/org/apache/qpid/failover/FailoverRoundRobinTest.java b/java/client/src/test/java/org/apache/qpid/failover/FailoverRoundRobinTest.java deleted file mode 100644 index 23119f2394..0000000000 --- a/java/client/src/test/java/org/apache/qpid/failover/FailoverRoundRobinTest.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * - * Copyright (c) 2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.qpid.failover; - -import org.apache.qpid.AMQException; -import org.apache.qpid.url.URLSyntaxException; -import org.apache.qpid.jms.ConnectionURL; -import org.apache.qpid.client.AMQConnection; -import org.apache.qpid.client.AMQConnectionURL; -import org.apache.qpid.jms.ConnectionListener; - -import javax.jms.*; -import java.util.Timer; -import java.util.TimerTask; - -public class FailoverRoundRobinTest implements MessageListener, ConnectionListener -{ - private static final long TIMEOUT = 10000; - private static final long INTERVAL = 5000; - private final Timer _timer = new Timer(true); - private final Connection _connection; - private final Session _session; - private final MessageProducer _producer; - private Timeout _timeout; - private int _count; - - - FailoverRoundRobinTest(String connectionString) throws JMSException, AMQException, URLSyntaxException - { - ConnectionURL connection = new AMQConnectionURL(connectionString); - _connection = new AMQConnection(connection); - - ((AMQConnection) _connection).setConnectionListener(this); - - _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - Topic topic = _session.createTopic("BLZ-24"); - Queue queue = _session.createTemporaryQueue(); - _producer = _session.createProducer(topic); - _session.createConsumer(queue).setMessageListener(this); - //new TopicListener(_session, topic); - new TopicListener(_connection.createSession(false, Session.AUTO_ACKNOWLEDGE), topic); - _connection.start(); - - Message msg = _session.createTextMessage("Init"); - msg.setJMSReplyTo(queue); - send(msg); - } - - public synchronized void onMessage(Message message) - { - try - { - //cancel timeout: - _timeout.clear(); - new DelayedSend(_session.createTextMessage("Message" + (++_count)), INTERVAL); - } - catch (JMSException e) - { - error(e); - } - } - - private synchronized void send(Message msg) throws JMSException - { - _producer.send(msg); - //start timeout: - _timeout = new Timeout(TIMEOUT); - } - - private void error(Exception e) - { - e.printStackTrace(); - stop(); - } - - private void stop() - { - System.out.println("Stopping..."); - try - { - _connection.close(); - } - catch (JMSException e) - { - System.out.println("Failed to shutdown: " + e); - e.printStackTrace(); - } - } - - private void timeout() - { - error(new RuntimeException("Timed out: count = " + _count)); - } - - public void bytesSent(long count) - { - } - - public void bytesReceived(long count) - { - } - - public boolean preFailover(boolean redirect) - { - System.out.println("preFailover(" + redirect + ") called"); - return true; - } - - public boolean preResubscribe() - { - System.out.println("preResubscribe() called"); - return true; - } - - public void failoverComplete() - { - System.out.println("failoverComplete() called"); - } - - private class TopicListener implements MessageListener - { - private final Session _session; - private MessageProducer _producer; - private int _received; - - TopicListener(Session session, Topic topic) throws JMSException - { - _session = session; - _session.createConsumer(topic).setMessageListener(this); - } - - public void onMessage(Message message) - { - try - { - //if(_received++ % 100 == 0) - { - System.out.println("Received: " + ((TextMessage) message).getText()); - } - if (_producer == null) - { - _producer = init(message); - } - reply(message); - } - catch (JMSException e) - { - error(e); - } - } - - private void reply(Message message) throws JMSException - { - _producer.send(_session.createTextMessage(((TextMessage) message).getText())); - } - - private MessageProducer init(Message message) throws JMSException - { - return _session.createProducer(message.getJMSReplyTo()); - } - } - - private class Timeout extends TimerTask - { - private volatile boolean _cancelled; - - Timeout(long time) - { - _timer.schedule(this, time); - } - - void clear() - { - _cancelled = true; - } - - public void run() - { - if (!_cancelled) - { - timeout(); - } - } - } - - private class DelayedSend extends TimerTask - { - private final Message _msg; - - DelayedSend(Message msg, long delay) - { - _msg = msg; - _timer.schedule(this, delay); - } - - public void run() - { - try - { - send(_msg); - } - catch (JMSException e) - { - error(e); - } - } - } - - public static void main(final String[] argv) throws Exception - { - //Default failover is to use single server - String url = "amqp://guest:guest@test/clientID?"+ - "brokerlist='tcp://localhost:5672?retries='2';"+ - "tcp://localhost:5673''&failover='roundrobin'"; - final String broker = argv.length == 0? url : argv[0]; - new FailoverRoundRobinTest(broker); - } -} |