Author: rajith
Date: Wed Mar 19 17:03:48 2008
New Revision: 639090
URL: http://svn.apache.org/viewvc?rev=639090&view=rev
Log:
This is a fix for QPID-864.
This allows the Listener or Consumer to start multiple instances by taking a
JNDI name of a queue bound to the topic exchange as a program argument.
The JNDI name should be defined in the fanout.properties. Currently 3 such
queues are defined.
Modified:
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Consumer.java
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Listener.java
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/fanout.properties
Modified:
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Consumer.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Consumer.java?rev=639090&r1=639089&r2=639090&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Consumer.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Consumer.java
Wed Mar 19 17:03:48 2008
@@ -59,16 +59,20 @@
*
* @param args Command line arguments.
*/
- public static void main(String[] args)
+ public static void main(String[] args) throws Exception
{
+ if (args.length == 0)
+ {
+ throw new Exception("You need to specify the JNDI name for the
queue");
+ }
Consumer syncConsumer = new Consumer();
- syncConsumer.runTest();
+ syncConsumer.runTest(args[0]);
}
/**
* Start the example.
*/
- private void runTest()
+ private void runTest(String queueName)
{
try
{
@@ -80,7 +84,7 @@
Context ctx = new InitialContext(properties);
// look up destination
- Destination destination = (Destination)ctx.lookup("fanoutQueue");
+ Destination destination = (Destination)ctx.lookup(queueName);
// Lookup the connection factory
ConnectionFactory conFac =
(ConnectionFactory)ctx.lookup("qpidConnectionfactory");
Modified:
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Listener.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Listener.java?rev=639090&r1=639089&r2=639090&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Listener.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/Listener.java
Wed Mar 19 17:03:48 2008
@@ -39,17 +39,17 @@
/**
* An object to synchronize on.
*/
- private final static Object _lock = new Object();
+ private final Object _lock = new Object();
/**
* A boolean to indicate a clean finish.
*/
- private static boolean _finished = false;
+ private boolean _finished = false;
/**
* A boolean to indicate an unsuccesful finish.
*/
- private static boolean _failed = false;
+ private boolean _failed = false;
@@ -58,16 +58,20 @@
*
* @param args Command line arguments.
*/
- public static void main(String[] args)
+ public static void main(String[] args) throws Exception
{
+ if (args.length == 0)
+ {
+ throw new Exception("You need to specify the JNDI name for the
queue");
+ }
Listener listener = new Listener();
- listener.runTest();
+ listener.runTest(args[0]);
}
/**
* Start the example.
*/
- private void runTest()
+ private void runTest(String queueName)
{
try
{
@@ -77,7 +81,7 @@
//Create the initial context
Context ctx = new InitialContext(properties);
- Destination destination = (Destination)ctx.lookup("fanoutQueue");
+ Destination destination = (Destination)ctx.lookup(queueName);
// Declare the connection
ConnectionFactory conFac =
(ConnectionFactory)ctx.lookup("qpidConnectionfactory");
Modified:
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/fanout.properties
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/fanout.properties?rev=639090&r1=639089&r2=639090&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/fanout.properties
(original)
+++
incubator/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/jmsexample/fanout/fanout.properties
Wed Mar 19 17:03:48 2008
@@ -25,4 +25,9 @@
# Register an AMQP destination in JNDI
# destination.[jniName] = [BindingURL]
+destination.fanoutQueue1 = fanout://amq.fanout//message_queue1
+destination.fanoutQueue2 = fanout://amq.fanout//message_queue2
+destination.fanoutQueue3 = fanout://amq.fanout//message_queue3
+
+# for producer
destination.fanoutQueue = fanout://amq.fanout//message_queue