public class ActiveMqTest {
        
        public ActiveMqTest() {
        }
        ///////////////////////////////////////////////////////
        // Just getting started with ActiveMQ.
        // I must be doing something very wrong to be getting such poor 
performance
on local sends (21 messages/sec).
        // Please take a quick look and see if there is something obvious.
        // This code is a derivative of HelloWorldProducer at
http://www.activemq.org/site/hello-world.html.
        // Thank you in advance for any help!
        ///////////////////////////////////////////////////////
        // ActiveMQ version: ActiveMQ 4.0-M4 (per activemq --version)
        // OS, HW: Windows 2000 SP4; 900Mhz Pentium Dell Inspiron 8000 laptop,
512MB RAM
        // Broker started on local machine
        // Broker output follows:
        //
        // C:\activemq>bin\activemq
        // ACTIVEMQ_HOME: C:\activemq
        // Loading message broker from: xbean:activemq.xml
        // INFO  BrokerService                  - ActiveMQ 4.0-M4 JMS Message
Broker (localhost) is starting
        // INFO  BrokerService                  - For help or more information
please see: http://www.logicblaze.com
        // INFO  JDBCPersistenceAdapter         - Database driver recognized:
[apache_derby_embedded_jdbc_driver]
        // INFO  JournalPersistenceAdapter      - Journal Recovery Started from:
Active Journal: using 5 x 20.0 Megs at: ..\activemq-data\journal
        // INFO  JournalPersistenceAdapter      - Journal Recovered: 1 
message(s)
in transactions recovered.
        // INFO  TransportServerThreadSupport   - Listening for connections at:
tcp://richlaptop:61616
        // INFO  TransportConnector             - Accepting connection on:
tcp://richlaptop:61616
        // WARN  MulticastDiscoveryAgent        - brokerName not set
        // INFO  TransportServerThreadSupport   - Listening for connections at:
tcp://richlaptop:61617?wireFormat=stomp
        // INFO  TransportConnector             - Accepting connection on:
tcp://richlaptop:61617?wireFormat=stomp
        // INFO  BrokerService                  - ActiveMQ JMS Message Broker
(localhost) started
        // INFO  NetworkConnector               - Establishing network 
connection
between vm://localhost?network=true and null at
failover:tcp://richlaptop:6161
        // INFO  VMTransportFactory             - binding to broker: localhost
        // INFO  TransportConnector             - Accepting connection on:
vm://localhost
        // INFO  ManagementContext              - JMX consoles can connect to
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
        // INFO  DemandForwardingBridge         - Starting a network connection
between vm://localhost#0 and unconnected has been established.
        // INFO  DemandForwardingBridge         - Disconnecting loop back
connection.
        // INFO  VMTransportFactory             - Shutting down VM connectors 
for
broker: localhost
        // INFO  VMTransportFactory             - Shutting down VM connectors 
for
broker: localhost       //
        //
        // C:\activemq\bin>java -version
        // java version "1.5.0_02"
        // Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09)
        // Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode, sharing)
        //
        // Method output:
        // Sending 200 messages
        // Sent 200 messages at a rate of 21.13494663425975 messages per second
        // ------------------ NOTES ------------------
        // If setDeliveryMode to NON_PERSISTENT rate jumps to 995 per second
        // All config files unchanged from installation and all log/data files
under install dir several months old.
        ///////////////////////////////////////////////////////
        public static void main( String [] args ) {
                javax.jms.Connection connection = null;
                javax.jms.Session session = null;
                try {
                        // Setup
                        org.apache.activemq.ActiveMQConnectionFactory 
connectionFactory = new
org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616" );
                        connection = connectionFactory.createConnection();
                        session = connection.createSession( false,
javax.jms.Session.AUTO_ACKNOWLEDGE );
                        javax.jms.Destination destination = 
session.createQueue( "TestQueue" );
                        javax.jms.MessageProducer producer = 
session.createProducer( destination
);
                        producer.setDeliveryMode( 
javax.jms.DeliveryMode.PERSISTENT );
                        connection.start();
                        // Build and send message numToSend times
                        int numToSend = 200;
                        javax.jms.TextMessage message = 
session.createTextMessage();
                        System.out.println( "Sending " + numToSend + " 
messages" );
System.out.flush();
                        long t1 = System.currentTimeMillis();
                        for ( int i = 0; i < numToSend; ++i ) {
                                message.setText( "Message#" + Integer.toString( 
i ) );
                                producer.send( message );
                        }
                        long t2 = System.currentTimeMillis();
                        // Compute and print out send rate
                        double rate = ( double ) numToSend/( (  double ) ( t2 - 
t1 )/1000.0 );
                        System.out.println( "Sent " + numToSend + " messages at 
a rate of " +
rate + " messages per second" ); System.out.flush();
                }
                catch ( Exception eOuter ) {
                        eOuter.printStackTrace();
                }
                finally {
                        // Clean up
                        try {
                                if ( session != null ) session.close();
                                if ( connection != null ) connection.close();
                        }
                        catch ( Exception eInner ) {
                                eInner.printStackTrace();
                        }
                }
        }
        
}

-- 
View this message in context: 
http://www.nabble.com/AMQ-Beginner---slow-producer-tf2269364.html#a6298777
Sent from the ActiveMQ - User forum at Nabble.com.

Reply via email to