You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/11/14 22:17:39 UTC
svn commit: r474986 [2/6] - in /incubator/activemq/branches/activemq-4.1: ./
activemq-console/src/main/java/org/apache/activemq/console/
activemq-console/src/main/resources/META-INF/
activemq-console/src/test/resources/ activemq-core/src/main/java/org/...
Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JmsSendReceiveWithMessageExpirationTest.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JmsSendReceiveWithMessageExpirationTest.java?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JmsSendReceiveWithMessageExpirationTest.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JmsSendReceiveWithMessageExpirationTest.java Tue Nov 14 13:17:31 2006
@@ -1,238 +1,238 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.activemq;
-
-import java.util.Date;
-
-import javax.jms.Connection;
-import javax.jms.DeliveryMode;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.Topic;
-
-/**
- *
- */
-public class JmsSendReceiveWithMessageExpirationTest extends TestSupport {
-
- private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory
- .getLog(JmsSendReceiveWithMessageExpirationTest.class);
-
- protected int messageCount = 100;
- protected String[] data;
- protected Session session;
- protected Destination consumerDestination;
- protected Destination producerDestination;
- protected boolean durable = false;
- protected int deliveryMode = DeliveryMode.PERSISTENT;
- protected long timeToLive = 5000;
- protected boolean verbose = false;
-
- protected Connection connection;
-
- protected void setUp() throws Exception {
-
- super.setUp();
-
- data = new String[messageCount];
-
- for (int i = 0; i < messageCount; i++) {
- data[i] = "Text for message: " + i + " at " + new Date();
- }
-
- connectionFactory = createConnectionFactory();
- connection = createConnection();
-
- if (durable) {
- connection.setClientID(getClass().getName());
- }
-
- session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- }
-
- /**
- * Test consuming an expired queue.
- *
- * @throws Exception
- */
- public void testConsumeExpiredQueue() throws Exception {
-
- MessageProducer producer = createProducer(timeToLive);
-
- consumerDestination = session.createQueue(getConsumerSubject());
- producerDestination = session.createQueue(getProducerSubject());
-
- MessageConsumer consumer = createConsumer();
- connection.start();
-
- for (int i = 0; i < data.length; i++) {
- Message message = session.createTextMessage(data[i]);
- message.setStringProperty("stringProperty",data[i]);
- message.setIntProperty("intProperty",i);
-
- if (verbose) {
- if (log.isDebugEnabled()) {
- log.debug("About to send a queue message: " + message + " with text: " + data[i]);
- }
- }
-
- producer.send(producerDestination, message);
- }
-
- // sleeps a second longer than the expiration time.
- // Basically waits till queue expires.
- Thread.sleep(timeToLive + 1000);
-
- // message should have expired.
- assertNull(consumer.receive(1000));
- }
-
- /**
- * Sends and consumes the messages to a queue destination.
- *
- * @throws Exception
- */
- public void testConsumeQueue() throws Exception {
-
- MessageProducer producer = createProducer(0);
-
- consumerDestination = session.createQueue(getConsumerSubject());
- producerDestination = session.createQueue(getProducerSubject());
-
- MessageConsumer consumer = createConsumer();
- connection.start();
-
- for (int i = 0; i < data.length; i++) {
- Message message = session.createTextMessage(data[i]);
- message.setStringProperty("stringProperty",data[i]);
- message.setIntProperty("intProperty",i);
-
- if (verbose) {
- if (log.isDebugEnabled()) {
- log.debug("About to send a queue message: " + message + " with text: " + data[i]);
- }
- }
-
- producer.send(producerDestination, message);
- }
-
- // should receive a queue since there is no expiration.
- assertNotNull(consumer.receive(1000));
- }
-
- /**
- * Test consuming an expired topic.
- *
- * @throws Exception
- */
- public void testConsumeExpiredTopic() throws Exception {
-
- MessageProducer producer = createProducer(timeToLive);
-
- consumerDestination = session.createTopic(getConsumerSubject());
- producerDestination = session.createTopic(getProducerSubject());
-
- MessageConsumer consumer = createConsumer();
- connection.start();
-
- for (int i = 0; i < data.length; i++) {
- Message message = session.createTextMessage(data[i]);
- message.setStringProperty("stringProperty",data[i]);
- message.setIntProperty("intProperty",i);
-
- if (verbose) {
- if (log.isDebugEnabled()) {
- log.debug("About to send a topic message: " + message + " with text: " + data[i]);
- }
- }
-
- producer.send(producerDestination, message);
- }
-
- // sleeps a second longer than the expiration time.
- // Basically waits till topic expires.
- Thread.sleep(timeToLive + 1000);
-
- // message should have expired.
- assertNull(consumer.receive(1000));
- }
-
- /**
- * Sends and consumes the messages to a topic destination.
- *
- * @throws Exception
- */
- public void testConsumeTopic() throws Exception {
-
- MessageProducer producer = createProducer(0);
-
- consumerDestination = session.createTopic(getConsumerSubject());
- producerDestination = session.createTopic(getProducerSubject());
-
- MessageConsumer consumer = createConsumer();
- connection.start();
-
- for (int i = 0; i < data.length; i++) {
- Message message = session.createTextMessage(data[i]);
- message.setStringProperty("stringProperty",data[i]);
- message.setIntProperty("intProperty",i);
-
- if (verbose) {
- if (log.isDebugEnabled()) {
- log.debug("About to send a topic message: " + message + " with text: " + data[i]);
- }
- }
-
- producer.send(producerDestination, message);
- }
-
- // should receive a topic since there is no expiration.
- assertNotNull(consumer.receive(1000));
- }
-
-
-
- protected MessageProducer createProducer(long timeToLive) throws JMSException {
- MessageProducer producer = session.createProducer(null);
- producer.setDeliveryMode(deliveryMode);
- producer.setTimeToLive(timeToLive);
-
- return producer;
- }
-
- protected MessageConsumer createConsumer() throws JMSException {
- if (durable) {
- log.info("Creating durable consumer");
- return session.createDurableSubscriber((Topic) consumerDestination, getName());
- }
- return session.createConsumer(consumerDestination);
- }
-
- protected void tearDown() throws Exception {
- log.info("Dumping stats...");
- log.info("Closing down connection");
-
- session.close();
- connection.close();
- }
-
-}
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.activemq;
+
+import java.util.Date;
+
+import javax.jms.Connection;
+import javax.jms.DeliveryMode;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.Topic;
+
+/**
+ *
+ */
+public class JmsSendReceiveWithMessageExpirationTest extends TestSupport {
+
+ private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory
+ .getLog(JmsSendReceiveWithMessageExpirationTest.class);
+
+ protected int messageCount = 100;
+ protected String[] data;
+ protected Session session;
+ protected Destination consumerDestination;
+ protected Destination producerDestination;
+ protected boolean durable = false;
+ protected int deliveryMode = DeliveryMode.PERSISTENT;
+ protected long timeToLive = 5000;
+ protected boolean verbose = false;
+
+ protected Connection connection;
+
+ protected void setUp() throws Exception {
+
+ super.setUp();
+
+ data = new String[messageCount];
+
+ for (int i = 0; i < messageCount; i++) {
+ data[i] = "Text for message: " + i + " at " + new Date();
+ }
+
+ connectionFactory = createConnectionFactory();
+ connection = createConnection();
+
+ if (durable) {
+ connection.setClientID(getClass().getName());
+ }
+
+ session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ }
+
+ /**
+ * Test consuming an expired queue.
+ *
+ * @throws Exception
+ */
+ public void testConsumeExpiredQueue() throws Exception {
+
+ MessageProducer producer = createProducer(timeToLive);
+
+ consumerDestination = session.createQueue(getConsumerSubject());
+ producerDestination = session.createQueue(getProducerSubject());
+
+ MessageConsumer consumer = createConsumer();
+ connection.start();
+
+ for (int i = 0; i < data.length; i++) {
+ Message message = session.createTextMessage(data[i]);
+ message.setStringProperty("stringProperty",data[i]);
+ message.setIntProperty("intProperty",i);
+
+ if (verbose) {
+ if (log.isDebugEnabled()) {
+ log.debug("About to send a queue message: " + message + " with text: " + data[i]);
+ }
+ }
+
+ producer.send(producerDestination, message);
+ }
+
+ // sleeps a second longer than the expiration time.
+ // Basically waits till queue expires.
+ Thread.sleep(timeToLive + 1000);
+
+ // message should have expired.
+ assertNull(consumer.receive(1000));
+ }
+
+ /**
+ * Sends and consumes the messages to a queue destination.
+ *
+ * @throws Exception
+ */
+ public void testConsumeQueue() throws Exception {
+
+ MessageProducer producer = createProducer(0);
+
+ consumerDestination = session.createQueue(getConsumerSubject());
+ producerDestination = session.createQueue(getProducerSubject());
+
+ MessageConsumer consumer = createConsumer();
+ connection.start();
+
+ for (int i = 0; i < data.length; i++) {
+ Message message = session.createTextMessage(data[i]);
+ message.setStringProperty("stringProperty",data[i]);
+ message.setIntProperty("intProperty",i);
+
+ if (verbose) {
+ if (log.isDebugEnabled()) {
+ log.debug("About to send a queue message: " + message + " with text: " + data[i]);
+ }
+ }
+
+ producer.send(producerDestination, message);
+ }
+
+ // should receive a queue since there is no expiration.
+ assertNotNull(consumer.receive(1000));
+ }
+
+ /**
+ * Test consuming an expired topic.
+ *
+ * @throws Exception
+ */
+ public void testConsumeExpiredTopic() throws Exception {
+
+ MessageProducer producer = createProducer(timeToLive);
+
+ consumerDestination = session.createTopic(getConsumerSubject());
+ producerDestination = session.createTopic(getProducerSubject());
+
+ MessageConsumer consumer = createConsumer();
+ connection.start();
+
+ for (int i = 0; i < data.length; i++) {
+ Message message = session.createTextMessage(data[i]);
+ message.setStringProperty("stringProperty",data[i]);
+ message.setIntProperty("intProperty",i);
+
+ if (verbose) {
+ if (log.isDebugEnabled()) {
+ log.debug("About to send a topic message: " + message + " with text: " + data[i]);
+ }
+ }
+
+ producer.send(producerDestination, message);
+ }
+
+ // sleeps a second longer than the expiration time.
+ // Basically waits till topic expires.
+ Thread.sleep(timeToLive + 1000);
+
+ // message should have expired.
+ assertNull(consumer.receive(1000));
+ }
+
+ /**
+ * Sends and consumes the messages to a topic destination.
+ *
+ * @throws Exception
+ */
+ public void testConsumeTopic() throws Exception {
+
+ MessageProducer producer = createProducer(0);
+
+ consumerDestination = session.createTopic(getConsumerSubject());
+ producerDestination = session.createTopic(getProducerSubject());
+
+ MessageConsumer consumer = createConsumer();
+ connection.start();
+
+ for (int i = 0; i < data.length; i++) {
+ Message message = session.createTextMessage(data[i]);
+ message.setStringProperty("stringProperty",data[i]);
+ message.setIntProperty("intProperty",i);
+
+ if (verbose) {
+ if (log.isDebugEnabled()) {
+ log.debug("About to send a topic message: " + message + " with text: " + data[i]);
+ }
+ }
+
+ producer.send(producerDestination, message);
+ }
+
+ // should receive a topic since there is no expiration.
+ assertNotNull(consumer.receive(1000));
+ }
+
+
+
+ protected MessageProducer createProducer(long timeToLive) throws JMSException {
+ MessageProducer producer = session.createProducer(null);
+ producer.setDeliveryMode(deliveryMode);
+ producer.setTimeToLive(timeToLive);
+
+ return producer;
+ }
+
+ protected MessageConsumer createConsumer() throws JMSException {
+ if (durable) {
+ log.info("Creating durable consumer");
+ return session.createDurableSubscriber((Topic) consumerDestination, getName());
+ }
+ return session.createConsumer(consumerDestination);
+ }
+
+ protected void tearDown() throws Exception {
+ log.info("Dumping stats...");
+ log.info("Closing down connection");
+
+ session.close();
+ connection.close();
+ }
+
+}
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/JmsSendReceiveWithMessageExpirationTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/broker/BrokerServiceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/broker/StubBroker.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/broker/region/cursors/CursorDurableTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/broker/region/cursors/KahaCursorDurableTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/kaha/VolumeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/kaha/impl/CachedListContainerImplTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/kaha/impl/index/RangeLimitedMapTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/kaha/impl/index/VMIndexLinkedListTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/NetworkReconnectTest.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/NetworkReconnectTest.java?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/NetworkReconnectTest.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/NetworkReconnectTest.java Tue Nov 14 13:17:31 2006
@@ -15,310 +15,310 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.activemq.network;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.jms.Connection;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
-import junit.framework.TestCase;
-
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.advisory.ConsumerEvent;
-import org.apache.activemq.advisory.ConsumerEventSource;
-import org.apache.activemq.advisory.ConsumerListener;
-import org.apache.activemq.broker.BrokerFactory;
-import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.command.ActiveMQQueue;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * These test cases are used to verifiy that network connections get re established in all broker
- * restart scenarios.
- *
- * @author chirino
- */
-public class NetworkReconnectTest extends TestCase {
-
- protected static final Log log = LogFactory.getLog(NetworkReconnectTest.class);
-
- private BrokerService producerBroker;
- private BrokerService consumerBroker;
- private ActiveMQConnectionFactory producerConnectionFactory;
- private ActiveMQConnectionFactory consumerConnectionFactory;
- private Destination destination;
- private ArrayList connections = new ArrayList();
-
- public void testMultipleProducerBrokerRestarts() throws Exception {
- for (int i = 0; i < 10; i++) {
- testWithProducerBrokerRestart();
- disposeConsumerConnections();
- }
- }
-
- public void testWithoutRestarts() throws Exception {
- startProducerBroker();
- startConsumerBroker();
-
- MessageConsumer consumer = createConsumer();
- AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
- waitForConsumerToArrive(counter);
-
- String messageId = sendMessage();
- Message message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
-
- assertNull( consumer.receiveNoWait() );
-
- }
-
- public void testWithProducerBrokerRestart() throws Exception {
- startProducerBroker();
- startConsumerBroker();
-
- MessageConsumer consumer = createConsumer();
- AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
- waitForConsumerToArrive(counter);
-
- String messageId = sendMessage();
- Message message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
- assertNull( consumer.receiveNoWait() );
-
- // Restart the first broker...
- stopProducerBroker();
- startProducerBroker();
-
- counter = createConsumerCounter(producerConnectionFactory);
- waitForConsumerToArrive(counter);
-
- messageId = sendMessage();
- message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
- assertNull( consumer.receiveNoWait() );
-
- }
-
- public void testWithConsumerBrokerRestart() throws Exception {
-
- startProducerBroker();
- startConsumerBroker();
-
- MessageConsumer consumer = createConsumer();
- AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
- waitForConsumerToArrive(counter);
-
- String messageId = sendMessage();
- Message message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
- assertNull( consumer.receiveNoWait() );
-
- // Restart the first broker...
- stopConsumerBroker();
- waitForConsumerToLeave(counter);
- startConsumerBroker();
-
- consumer = createConsumer();
- waitForConsumerToArrive(counter);
-
- messageId = sendMessage();
- message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
- assertNull( consumer.receiveNoWait() );
-
- }
-
- public void testWithConsumerBrokerStartDelay() throws Exception {
-
- startConsumerBroker();
- MessageConsumer consumer = createConsumer();
-
- Thread.sleep(1000*5);
-
- startProducerBroker();
- AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
- waitForConsumerToArrive(counter);
-
- String messageId = sendMessage();
- Message message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
-
- assertNull( consumer.receiveNoWait() );
-
- }
-
-
- public void testWithProducerBrokerStartDelay() throws Exception {
-
- startProducerBroker();
- AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
-
- Thread.sleep(1000*5);
-
- startConsumerBroker();
- MessageConsumer consumer = createConsumer();
-
- waitForConsumerToArrive(counter);
-
- String messageId = sendMessage();
- Message message = consumer.receive(1000);
-
- assertEquals(messageId, message.getJMSMessageID());
-
- assertNull( consumer.receiveNoWait() );
-
- }
-
- protected void setUp() throws Exception {
-
- log.info("===============================================================================");
- log.info("Running Test Case: "+getName());
- log.info("===============================================================================");
-
- producerConnectionFactory = createProducerConnectionFactory();
- consumerConnectionFactory = createConsumerConnectionFactory();
- destination = new ActiveMQQueue("RECONNECT.TEST.QUEUE");
-
- }
-
- protected void tearDown() throws Exception {
- disposeConsumerConnections();
- try {
- stopProducerBroker();
- } catch (Throwable e) {
- }
- try {
- stopConsumerBroker();
- } catch (Throwable e) {
- }
- }
-
- protected void disposeConsumerConnections() {
- for (Iterator iter = connections.iterator(); iter.hasNext();) {
- Connection connection = (Connection) iter.next();
- try { connection.close(); } catch (Throwable ignore) {}
- }
- }
-
- protected void startProducerBroker() throws Exception {
- if( producerBroker==null ) {
- producerBroker = createFirstBroker();
- producerBroker.start();
- }
- }
-
- protected void stopProducerBroker() throws Exception {
- if( producerBroker!=null ) {
- producerBroker.stop();
- producerBroker=null;
- }
- }
-
- protected void startConsumerBroker() throws Exception {
- if( consumerBroker==null ) {
- consumerBroker = createSecondBroker();
- consumerBroker.start();
- }
- }
-
- protected void stopConsumerBroker() throws Exception {
- if( consumerBroker!=null ) {
- consumerBroker.stop();
- consumerBroker=null;
- }
- }
-
- protected BrokerService createFirstBroker() throws Exception {
- return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker1.xml"));
- }
-
- protected BrokerService createSecondBroker() throws Exception {
- return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker2.xml"));
- }
-
- protected ActiveMQConnectionFactory createProducerConnectionFactory() {
- return new ActiveMQConnectionFactory("vm://broker1");
- }
-
- protected ActiveMQConnectionFactory createConsumerConnectionFactory() {
- return new ActiveMQConnectionFactory("vm://broker2");
- }
-
- protected String sendMessage() throws JMSException {
- Connection connection = null;
- try {
- connection = producerConnectionFactory.createConnection();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageProducer producer = session.createProducer(destination);
- Message message = session.createMessage();
- producer.send(message);
- return message.getJMSMessageID();
- } finally {
- try { connection.close(); } catch (Throwable ignore) {}
- }
- }
-
- protected MessageConsumer createConsumer() throws JMSException {
- Connection connection = consumerConnectionFactory.createConnection();
- connections.add(connection);
- connection.start();
-
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- return session.createConsumer(destination);
- }
-
- protected AtomicInteger createConsumerCounter(ActiveMQConnectionFactory cf) throws Exception {
- final AtomicInteger rc = new AtomicInteger(0);
- Connection connection = cf.createConnection();
- connections.add(connection);
- connection.start();
-
- ConsumerEventSource source = new ConsumerEventSource(connection, destination);
- source.setConsumerListener(new ConsumerListener(){
- public void onConsumerEvent(ConsumerEvent event) {
- rc.set(event.getConsumerCount());
- }
- });
- source.start();
-
- return rc;
- }
-
- protected void waitForConsumerToArrive(AtomicInteger consumerCounter) throws InterruptedException {
- for( int i=0; i < 100; i++ ) {
- if( consumerCounter.get() > 0 ) {
- return;
- }
- Thread.sleep(100);
- }
- fail("The consumer did not arrive.");
- }
-
- protected void waitForConsumerToLeave(AtomicInteger consumerCounter) throws InterruptedException {
- for( int i=0; i < 100; i++ ) {
- if( consumerCounter.get() == 0 ) {
- return;
- }
- Thread.sleep(100);
- }
- fail("The consumer did not leave.");
- }
-
-}
+package org.apache.activemq.network;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.jms.Connection;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+
+import junit.framework.TestCase;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.advisory.ConsumerEvent;
+import org.apache.activemq.advisory.ConsumerEventSource;
+import org.apache.activemq.advisory.ConsumerListener;
+import org.apache.activemq.broker.BrokerFactory;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.command.ActiveMQQueue;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * These test cases are used to verifiy that network connections get re established in all broker
+ * restart scenarios.
+ *
+ * @author chirino
+ */
+public class NetworkReconnectTest extends TestCase {
+
+ protected static final Log log = LogFactory.getLog(NetworkReconnectTest.class);
+
+ private BrokerService producerBroker;
+ private BrokerService consumerBroker;
+ private ActiveMQConnectionFactory producerConnectionFactory;
+ private ActiveMQConnectionFactory consumerConnectionFactory;
+ private Destination destination;
+ private ArrayList connections = new ArrayList();
+
+ public void testMultipleProducerBrokerRestarts() throws Exception {
+ for (int i = 0; i < 10; i++) {
+ testWithProducerBrokerRestart();
+ disposeConsumerConnections();
+ }
+ }
+
+ public void testWithoutRestarts() throws Exception {
+ startProducerBroker();
+ startConsumerBroker();
+
+ MessageConsumer consumer = createConsumer();
+ AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
+ waitForConsumerToArrive(counter);
+
+ String messageId = sendMessage();
+ Message message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+
+ assertNull( consumer.receiveNoWait() );
+
+ }
+
+ public void testWithProducerBrokerRestart() throws Exception {
+ startProducerBroker();
+ startConsumerBroker();
+
+ MessageConsumer consumer = createConsumer();
+ AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
+ waitForConsumerToArrive(counter);
+
+ String messageId = sendMessage();
+ Message message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+ assertNull( consumer.receiveNoWait() );
+
+ // Restart the first broker...
+ stopProducerBroker();
+ startProducerBroker();
+
+ counter = createConsumerCounter(producerConnectionFactory);
+ waitForConsumerToArrive(counter);
+
+ messageId = sendMessage();
+ message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+ assertNull( consumer.receiveNoWait() );
+
+ }
+
+ public void testWithConsumerBrokerRestart() throws Exception {
+
+ startProducerBroker();
+ startConsumerBroker();
+
+ MessageConsumer consumer = createConsumer();
+ AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
+ waitForConsumerToArrive(counter);
+
+ String messageId = sendMessage();
+ Message message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+ assertNull( consumer.receiveNoWait() );
+
+ // Restart the first broker...
+ stopConsumerBroker();
+ waitForConsumerToLeave(counter);
+ startConsumerBroker();
+
+ consumer = createConsumer();
+ waitForConsumerToArrive(counter);
+
+ messageId = sendMessage();
+ message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+ assertNull( consumer.receiveNoWait() );
+
+ }
+
+ public void testWithConsumerBrokerStartDelay() throws Exception {
+
+ startConsumerBroker();
+ MessageConsumer consumer = createConsumer();
+
+ Thread.sleep(1000*5);
+
+ startProducerBroker();
+ AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
+ waitForConsumerToArrive(counter);
+
+ String messageId = sendMessage();
+ Message message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+
+ assertNull( consumer.receiveNoWait() );
+
+ }
+
+
+ public void testWithProducerBrokerStartDelay() throws Exception {
+
+ startProducerBroker();
+ AtomicInteger counter = createConsumerCounter(producerConnectionFactory);
+
+ Thread.sleep(1000*5);
+
+ startConsumerBroker();
+ MessageConsumer consumer = createConsumer();
+
+ waitForConsumerToArrive(counter);
+
+ String messageId = sendMessage();
+ Message message = consumer.receive(1000);
+
+ assertEquals(messageId, message.getJMSMessageID());
+
+ assertNull( consumer.receiveNoWait() );
+
+ }
+
+ protected void setUp() throws Exception {
+
+ log.info("===============================================================================");
+ log.info("Running Test Case: "+getName());
+ log.info("===============================================================================");
+
+ producerConnectionFactory = createProducerConnectionFactory();
+ consumerConnectionFactory = createConsumerConnectionFactory();
+ destination = new ActiveMQQueue("RECONNECT.TEST.QUEUE");
+
+ }
+
+ protected void tearDown() throws Exception {
+ disposeConsumerConnections();
+ try {
+ stopProducerBroker();
+ } catch (Throwable e) {
+ }
+ try {
+ stopConsumerBroker();
+ } catch (Throwable e) {
+ }
+ }
+
+ protected void disposeConsumerConnections() {
+ for (Iterator iter = connections.iterator(); iter.hasNext();) {
+ Connection connection = (Connection) iter.next();
+ try { connection.close(); } catch (Throwable ignore) {}
+ }
+ }
+
+ protected void startProducerBroker() throws Exception {
+ if( producerBroker==null ) {
+ producerBroker = createFirstBroker();
+ producerBroker.start();
+ }
+ }
+
+ protected void stopProducerBroker() throws Exception {
+ if( producerBroker!=null ) {
+ producerBroker.stop();
+ producerBroker=null;
+ }
+ }
+
+ protected void startConsumerBroker() throws Exception {
+ if( consumerBroker==null ) {
+ consumerBroker = createSecondBroker();
+ consumerBroker.start();
+ }
+ }
+
+ protected void stopConsumerBroker() throws Exception {
+ if( consumerBroker!=null ) {
+ consumerBroker.stop();
+ consumerBroker=null;
+ }
+ }
+
+ protected BrokerService createFirstBroker() throws Exception {
+ return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker1.xml"));
+ }
+
+ protected BrokerService createSecondBroker() throws Exception {
+ return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker2.xml"));
+ }
+
+ protected ActiveMQConnectionFactory createProducerConnectionFactory() {
+ return new ActiveMQConnectionFactory("vm://broker1");
+ }
+
+ protected ActiveMQConnectionFactory createConsumerConnectionFactory() {
+ return new ActiveMQConnectionFactory("vm://broker2");
+ }
+
+ protected String sendMessage() throws JMSException {
+ Connection connection = null;
+ try {
+ connection = producerConnectionFactory.createConnection();
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer producer = session.createProducer(destination);
+ Message message = session.createMessage();
+ producer.send(message);
+ return message.getJMSMessageID();
+ } finally {
+ try { connection.close(); } catch (Throwable ignore) {}
+ }
+ }
+
+ protected MessageConsumer createConsumer() throws JMSException {
+ Connection connection = consumerConnectionFactory.createConnection();
+ connections.add(connection);
+ connection.start();
+
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ return session.createConsumer(destination);
+ }
+
+ protected AtomicInteger createConsumerCounter(ActiveMQConnectionFactory cf) throws Exception {
+ final AtomicInteger rc = new AtomicInteger(0);
+ Connection connection = cf.createConnection();
+ connections.add(connection);
+ connection.start();
+
+ ConsumerEventSource source = new ConsumerEventSource(connection, destination);
+ source.setConsumerListener(new ConsumerListener(){
+ public void onConsumerEvent(ConsumerEvent event) {
+ rc.set(event.getConsumerCount());
+ }
+ });
+ source.start();
+
+ return rc;
+ }
+
+ protected void waitForConsumerToArrive(AtomicInteger consumerCounter) throws InterruptedException {
+ for( int i=0; i < 100; i++ ) {
+ if( consumerCounter.get() > 0 ) {
+ return;
+ }
+ Thread.sleep(100);
+ }
+ fail("The consumer did not arrive.");
+ }
+
+ protected void waitForConsumerToLeave(AtomicInteger consumerCounter) throws InterruptedException {
+ for( int i=0; i < 100; i++ ) {
+ if( consumerCounter.get() == 0 ) {
+ return;
+ }
+ Thread.sleep(100);
+ }
+ fail("The consumer did not leave.");
+ }
+
+}
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/NetworkReconnectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/SSHTunnelNetworkReconnectTest.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/SSHTunnelNetworkReconnectTest.java?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/SSHTunnelNetworkReconnectTest.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/SSHTunnelNetworkReconnectTest.java Tue Nov 14 13:17:31 2006
@@ -15,77 +15,77 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.activemq.network;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.apache.activemq.broker.BrokerFactory;
-import org.apache.activemq.broker.BrokerService;
-
-
-/**
- * Test network reconnects over SSH tunnels. This case can be especially tricky since the SSH tunnels
- * fool the TCP transport into thinking that they are initially connected.
- *
- * @author chirino
- */
-public class SSHTunnelNetworkReconnectTest extends NetworkReconnectTest {
-
- ArrayList processes = new ArrayList();
-
-
- protected BrokerService createFirstBroker() throws Exception {
- return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/ssh-reconnect-broker1.xml"));
- }
-
- protected BrokerService createSecondBroker() throws Exception {
- return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/ssh-reconnect-broker2.xml"));
- }
-
- protected void setUp() throws Exception {
- startProcess("ssh -Nn -L60006:localhost:61616 localhost");
- startProcess("ssh -Nn -L60007:localhost:61617 localhost");
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- for (Iterator iter = processes.iterator(); iter.hasNext();) {
- Process p = (Process) iter.next();
- p.destroy();
- }
- }
-
- private void startProcess(String command) throws IOException {
- final Process process = Runtime.getRuntime().exec(command);
- processes.add(process);
- new Thread("stdout: "+command){
- public void run() {
- try {
- InputStream is = process.getInputStream();
- int c;
- while((c=is.read())>=0) {
- System.out.write(c);
- }
- } catch (IOException e) {
- }
- }
- }.start();
- new Thread("stderr: "+command){
- public void run() {
- try {
- InputStream is = process.getErrorStream();
- int c;
- while((c=is.read())>=0) {
- System.err.write(c);
- }
- } catch (IOException e) {
- }
- }
- }.start();
- }
-}
+package org.apache.activemq.network;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.apache.activemq.broker.BrokerFactory;
+import org.apache.activemq.broker.BrokerService;
+
+
+/**
+ * Test network reconnects over SSH tunnels. This case can be especially tricky since the SSH tunnels
+ * fool the TCP transport into thinking that they are initially connected.
+ *
+ * @author chirino
+ */
+public class SSHTunnelNetworkReconnectTest extends NetworkReconnectTest {
+
+ ArrayList processes = new ArrayList();
+
+
+ protected BrokerService createFirstBroker() throws Exception {
+ return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/ssh-reconnect-broker1.xml"));
+ }
+
+ protected BrokerService createSecondBroker() throws Exception {
+ return BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/ssh-reconnect-broker2.xml"));
+ }
+
+ protected void setUp() throws Exception {
+ startProcess("ssh -Nn -L60006:localhost:61616 localhost");
+ startProcess("ssh -Nn -L60007:localhost:61617 localhost");
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ for (Iterator iter = processes.iterator(); iter.hasNext();) {
+ Process p = (Process) iter.next();
+ p.destroy();
+ }
+ }
+
+ private void startProcess(String command) throws IOException {
+ final Process process = Runtime.getRuntime().exec(command);
+ processes.add(process);
+ new Thread("stdout: "+command){
+ public void run() {
+ try {
+ InputStream is = process.getInputStream();
+ int c;
+ while((c=is.read())>=0) {
+ System.out.write(c);
+ }
+ } catch (IOException e) {
+ }
+ }
+ }.start();
+ new Thread("stderr: "+command){
+ public void run() {
+ try {
+ InputStream is = process.getErrorStream();
+ int c;
+ while((c=is.read())>=0) {
+ System.err.write(c);
+ }
+ } catch (IOException e) {
+ }
+ }
+ }.start();
+ }
+}
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/network/SSHTunnelNetworkReconnectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/perf/InactiveDurableTopicTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/perf/InactiveQueueTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/pool/ConnectionFailureEvictsFromPool.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/security/JaasCertificateAuthenticationBrokerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/security/StubDoNothingCallbackHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/security/StubJaasConfiguration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/security/StubLoginModule.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/security/StubSecurityContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/failover/ReconnectTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/SslTransportFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/SslTransportServerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/SslTransportTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubSSLServerSocket.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubSSLSession.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubSSLSocket.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubSSLSocketFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubSslTransport.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/java/org/apache/activemq/transport/tcp/StubX509Certificate.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/resources/META-INF/NOTICE.txt
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-core/src/test/resources/META-INF/NOTICE.txt?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-core/src/test/resources/META-INF/NOTICE.txt (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-core/src/test/resources/META-INF/NOTICE.txt Tue Nov 14 13:17:31 2006
@@ -1,12 +1,12 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
+=========================================================================
+== NOTICE file corresponding to the section 4 d of ==
+== the Apache License, Version 2.0, ==
+== in this case for the Apache ActiveMQ distribution. ==
+=========================================================================
+
+Apache ActiveMQ
+Copyright 2005-2006 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
Propchange: incubator/activemq/branches/activemq-4.1/activemq-core/src/test/resources/META-INF/NOTICE.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/java/org/apache/activemq/jaas/CertificateCallback.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/java/org/apache/activemq/jaas/CertificateLoginModule.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/java/org/apache/activemq/jaas/JaasCertificateCallbackHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/java/org/apache/activemq/jaas/JassCredentialCallbackHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/java/org/apache/activemq/jaas/TextFileCertificateLoginModule.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/resources/META-INF/NOTICE.txt
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/resources/META-INF/NOTICE.txt?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/resources/META-INF/NOTICE.txt (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/resources/META-INF/NOTICE.txt Tue Nov 14 13:17:31 2006
@@ -1,12 +1,12 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
+=========================================================================
+== NOTICE file corresponding to the section 4 d of ==
+== the Apache License, Version 2.0, ==
+== in this case for the Apache ActiveMQ distribution. ==
+=========================================================================
+
+Apache ActiveMQ
+Copyright 2005-2006 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/main/resources/META-INF/NOTICE.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/test/java/org/apache/activemq/jaas/CertificateLoginModuleTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-jaas/src/test/java/org/apache/activemq/jaas/StubCertificateLoginModule.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CGeneratorTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CHeadersGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CSharpClassesGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CSharpGeneratorTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CSharpMarshallingGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CSourcesGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/CppGeneratorTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/JavaGeneratorTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/JavaMarshallingGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/JavaTestsGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/MultiSourceGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/branches/activemq-4.1/activemq-openwire-generator/src/main/java/org/apache/activemq/openwire/tool/SingleSourceGenerator.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/JAXPXPathEvaluator.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/JAXPXPathEvaluator.java?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/JAXPXPathEvaluator.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/JAXPXPathEvaluator.java Tue Nov 14 13:17:31 2006
@@ -1,78 +1,78 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.activemq.filter;
-
-import java.io.StringReader;
-
-import javax.jms.BytesMessage;
-import javax.jms.JMSException;
-import javax.jms.TextMessage;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.apache.activemq.command.Message;
-import org.apache.activemq.util.ByteArrayInputStream;
-import org.xml.sax.InputSource;
-
-public class JAXPXPathEvaluator implements XPathExpression.XPathEvaluator {
-
- private static final XPathFactory factory = XPathFactory.newInstance();
- private javax.xml.xpath.XPathExpression expression;
-
- public JAXPXPathEvaluator(String xpathExpression) {
- try {
- XPath xpath = factory.newXPath();
- expression = xpath.compile(xpathExpression);
- } catch (XPathExpressionException e) {
- throw new RuntimeException("Invalid XPath expression: "+xpathExpression);
- }
- }
-
- public boolean evaluate(Message message) throws JMSException {
- if( message instanceof TextMessage ) {
- String text = ((TextMessage)message).getText();
- return evaluate(text);
- } else if ( message instanceof BytesMessage ) {
- BytesMessage bm = (BytesMessage) message;
- byte data[] = new byte[(int) bm.getBodyLength()];
- bm.readBytes(data);
- return evaluate(data);
- }
- return false;
- }
-
- private boolean evaluate(byte[] data) {
- try {
- InputSource inputSource = new InputSource(new ByteArrayInputStream(data));
- return ((Boolean)expression.evaluate(inputSource, XPathConstants.BOOLEAN)).booleanValue();
- } catch (XPathExpressionException e) {
- return false;
- }
- }
-
- private boolean evaluate(String text) {
- try {
- InputSource inputSource = new InputSource(new StringReader(text));
- return ((Boolean)expression.evaluate(inputSource, XPathConstants.BOOLEAN)).booleanValue();
- } catch (XPathExpressionException e) {
- return false;
- }
- }
-}
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.activemq.filter;
+
+import java.io.StringReader;
+
+import javax.jms.BytesMessage;
+import javax.jms.JMSException;
+import javax.jms.TextMessage;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.activemq.command.Message;
+import org.apache.activemq.util.ByteArrayInputStream;
+import org.xml.sax.InputSource;
+
+public class JAXPXPathEvaluator implements XPathExpression.XPathEvaluator {
+
+ private static final XPathFactory factory = XPathFactory.newInstance();
+ private javax.xml.xpath.XPathExpression expression;
+
+ public JAXPXPathEvaluator(String xpathExpression) {
+ try {
+ XPath xpath = factory.newXPath();
+ expression = xpath.compile(xpathExpression);
+ } catch (XPathExpressionException e) {
+ throw new RuntimeException("Invalid XPath expression: "+xpathExpression);
+ }
+ }
+
+ public boolean evaluate(Message message) throws JMSException {
+ if( message instanceof TextMessage ) {
+ String text = ((TextMessage)message).getText();
+ return evaluate(text);
+ } else if ( message instanceof BytesMessage ) {
+ BytesMessage bm = (BytesMessage) message;
+ byte data[] = new byte[(int) bm.getBodyLength()];
+ bm.readBytes(data);
+ return evaluate(data);
+ }
+ return false;
+ }
+
+ private boolean evaluate(byte[] data) {
+ try {
+ InputSource inputSource = new InputSource(new ByteArrayInputStream(data));
+ return ((Boolean)expression.evaluate(inputSource, XPathConstants.BOOLEAN)).booleanValue();
+ } catch (XPathExpressionException e) {
+ return false;
+ }
+ }
+
+ private boolean evaluate(String text) {
+ try {
+ InputSource inputSource = new InputSource(new StringReader(text));
+ return ((Boolean)expression.evaluate(inputSource, XPathConstants.BOOLEAN)).booleanValue();
+ } catch (XPathExpressionException e) {
+ return false;
+ }
+ }
+}
Propchange: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/JAXPXPathEvaluator.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/XMLBeansXPathEvaluator.java
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/XMLBeansXPathEvaluator.java?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/XMLBeansXPathEvaluator.java (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/XMLBeansXPathEvaluator.java Tue Nov 14 13:17:31 2006
@@ -1,62 +1,62 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.activemq.filter;
-
-import javax.jms.BytesMessage;
-import javax.jms.JMSException;
-import javax.jms.TextMessage;
-
-import org.apache.activemq.command.Message;
-import org.apache.activemq.util.ByteArrayInputStream;
-import org.apache.xmlbeans.XmlObject;
-
-public class XMLBeansXPathEvaluator implements XPathExpression.XPathEvaluator {
-
- private final String xpath;
-
- public XMLBeansXPathEvaluator(String xpath) {
- this.xpath = xpath;
- }
-
- public boolean evaluate(Message message) throws JMSException {
- if( message instanceof TextMessage ) {
- String text = ((TextMessage)message).getText();
- try {
- XmlObject object = XmlObject.Factory.parse(text);
- XmlObject[] objects = object.selectPath(xpath);
- return object!=null && objects.length>0;
- } catch (Throwable e) {
- return false;
- }
-
- } else if ( message instanceof BytesMessage ) {
- BytesMessage bm = (BytesMessage) message;
- byte data[] = new byte[(int) bm.getBodyLength()];
- bm.readBytes(data);
- try {
- XmlObject object = XmlObject.Factory.parse(new ByteArrayInputStream(data));
- XmlObject[] objects = object.selectPath(xpath);
- return object!=null && objects.length>0;
- } catch (Throwable e) {
- return false;
- }
- }
- return false;
- }
-}
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.activemq.filter;
+
+import javax.jms.BytesMessage;
+import javax.jms.JMSException;
+import javax.jms.TextMessage;
+
+import org.apache.activemq.command.Message;
+import org.apache.activemq.util.ByteArrayInputStream;
+import org.apache.xmlbeans.XmlObject;
+
+public class XMLBeansXPathEvaluator implements XPathExpression.XPathEvaluator {
+
+ private final String xpath;
+
+ public XMLBeansXPathEvaluator(String xpath) {
+ this.xpath = xpath;
+ }
+
+ public boolean evaluate(Message message) throws JMSException {
+ if( message instanceof TextMessage ) {
+ String text = ((TextMessage)message).getText();
+ try {
+ XmlObject object = XmlObject.Factory.parse(text);
+ XmlObject[] objects = object.selectPath(xpath);
+ return object!=null && objects.length>0;
+ } catch (Throwable e) {
+ return false;
+ }
+
+ } else if ( message instanceof BytesMessage ) {
+ BytesMessage bm = (BytesMessage) message;
+ byte data[] = new byte[(int) bm.getBodyLength()];
+ bm.readBytes(data);
+ try {
+ XmlObject object = XmlObject.Factory.parse(new ByteArrayInputStream(data));
+ XmlObject[] objects = object.selectPath(xpath);
+ return object!=null && objects.length>0;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+ return false;
+ }
+}
Propchange: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/java/org/apache/activemq/filter/XMLBeansXPathEvaluator.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/resources/META-INF/NOTICE.txt
URL: http://svn.apache.org/viewvc/incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/resources/META-INF/NOTICE.txt?view=diff&rev=474986&r1=474985&r2=474986
==============================================================================
--- incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/resources/META-INF/NOTICE.txt (original)
+++ incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/resources/META-INF/NOTICE.txt Tue Nov 14 13:17:31 2006
@@ -1,12 +1,12 @@
-=========================================================================
-== NOTICE file corresponding to the section 4 d of ==
-== the Apache License, Version 2.0, ==
-== in this case for the Apache ActiveMQ distribution. ==
-=========================================================================
-
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
+=========================================================================
+== NOTICE file corresponding to the section 4 d of ==
+== the Apache License, Version 2.0, ==
+== in this case for the Apache ActiveMQ distribution. ==
+=========================================================================
+
+Apache ActiveMQ
+Copyright 2005-2006 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
Propchange: incubator/activemq/branches/activemq-4.1/activemq-optional/src/main/resources/META-INF/NOTICE.txt
------------------------------------------------------------------------------
svn:eol-style = native