activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Faisal Abidi <fab...@gmail.com>
Subject How to instantiate ProducerTool without using the ant build script?
Date Mon, 04 Feb 2013 17:01:56 GMT
Hello! First post here.

AMQ v5.7
Java v1.6
IDE: Eclipse Indigo

Goal:
I have an existing java application and I want to incorporate an instance of
ProducerTool in it. To do that, I should first be able to instantiate
ProducerTool without the ant script, so I modified the main method in
ProducerTool.java.

Setup:
-running the example using 'ant producer' works fine and I see 2000 messages
go by. That should give you an idea that I have completed the initial amq
setup properly.
-included the amq lib directory and specified the source code folder in the
eclipse project. This was so that I could build the project without ant
-Used ProducerTool.java as the main class in my run configuration.

-Ascertaining the default arguments from the build.xml, I modified the main
method as follows:

-------------
public static void main(String[] args)
    {
	int parallelThreads = 1;
	ArrayList<ProducerTool> threads = new ArrayList();
	ProducerTool producerTool = new ProducerTool();

	if (args.length == 0)
	{

	    producerTool.setUrl("tcp://localhost:61616");
	    producerTool.setTopic(false);
	    producerTool.setSubject("TEST.FOO");
	    producerTool.setPersistent(false);
	    producerTool.setMessageCount(2);
	    producerTool.setMessageSize(1000);
	    producerTool.setParallelThreads(parallelThreads);
	    producerTool.setTimeToLive(0);
	    producerTool.setSleepTime(0);
	    producerTool.setTransacted(false);
	    producerTool.setVerbose(true);
	}
	else
	{
	    String[] unknown = CommandLineSupport.setOptions(producerTool, args);
	    if (unknown.length > 0)
	    {
		System.out.println("Unknown options: " + Arrays.toString(unknown));
		System.exit(-1);
	    }
	}

	producerTool.showParameters();
        ...
        ... (rest of the example code is unmodified)
-------------


Results:

When I run it, this is the output:

-------------
Connecting to URL: tcp://localhost:61616 (null:null)
Publishing a Message with size 1000 to queue: TEST.FOO
Using non-persistent messages
Sleeping between publish 0 ms
Running 1 parallel threads
log4j:WARN No appenders could be found for logger
(org.apache.activemq.thread.TaskRunnerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
more info.
[Thread-1] Sending message: 'Message: 0 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 1 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 2 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 3 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 4 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 5 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 6 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 7 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 8 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Sending message: 'Message: 9 sent at: Mon Feb 04 09:46:49 CST
2013  ...'
[Thread-1] Done.
[Thread-1] Results:

connection {
  session {
    messageCount{ count: 0 unit: count startTime: 1359992809453
lastSampleTime: 1359992809453 description: Number of messages exchanged }
    messageRateTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1359992809453
lastSampleTime: 1359992809453 description: Time taken to process a message
(thoughtput rate) }
    pendingMessageCount{ count: 0 unit: count startTime: 1359992809453
lastSampleTime: 1359992809453 description: Number of pending messages }
    expiredMessageCount{ count: 0 unit: count startTime: 1359992809453
lastSampleTime: 1359992809453 description: Number of expired messages }
    messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1359992809453
lastSampleTime: 1359992809453 description: Time spent by a message before
being delivered }
    durableSubscriptionCount{ count: 0 unit: count startTime: 1359992809453
lastSampleTime: 1359992809453 description: The number of durable
subscriptions }

    producers {
      producer queue://TOOL.DEFAULT {
        messageCount{ count: 0 unit: count startTime: 1359992809464
lastSampleTime: 1359992809464 description: Number of messages processed }
        messageRateTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1359992809464
lastSampleTime: 1359992809464 description: Time taken to process a message
(thoughtput rate) }
        pendingMessageCount{ count: 0 unit: count startTime: 1359992809464
lastSampleTime: 1359992809464 description: Number of pending messages }
        messageRateTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1359992809464
lastSampleTime: 1359992809464 description: Time taken to process a message
(thoughtput rate) }
        expiredMessageCount{ count: 0 unit: count startTime: 1359992809464
lastSampleTime: 1359992809464 description: Number of expired messages }
        messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1359992809464
lastSampleTime: 1359992809464 description: Time spent by a message before
being delivered }
      }
    }
    consumers {
    }
  }
}
All threads completed their work
--------------

Issue:
The problem here is that it only sends 9 messages. What did I do wrong?

Of course, it could be that I am going about this all wrong. How then should
I integrate a ProducerTool with my existing code?


Thanks very much for your replies!



--
View this message in context: http://activemq.2283324.n4.nabble.com/How-to-instantiate-ProducerTool-without-using-the-ant-build-script-tp4662724.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message