Please go to swiftmq/samples directory.
Here you've got two new versions of existing files. Please recompile
them and start using 'starter' script (located in the same directory).

****************** SimpleQueueSender.java ******************
import javax.jms.*;
import javax.naming.*;

public class SimpleQueueSender {

    public static void main(String[] args) {
        String                       queueName = null;
        QueueConnectionFactory       queueConnectionFactory = null;
        Queue                        queue = null;
        QueueConnection              queueConnection = null;
        QueueSession                 queueSession = null;
        QueueSender                  queueSender = null;
        String                       msgText = new String("Here is a message");
        TextMessage                  message = null;
        int                          exitResult = 0;
        
        if (args.length != 1) {
            System.out.println("Usage: java SimpleQueueSender <queue_name>");
            System.exit(1);
        }
        queueName = new String(args[0]);
        System.out.println("Queue name is " + queueName);
            
        try {
            queueConnectionFactory = (QueueConnectionFactory) 
SampleUtilities.jndiLookup(SampleUtilities.QUEUECONFAC);
            queueConnection = queueConnectionFactory.createQueueConnection();
            queue = (Queue) SampleUtilities.jndiLookup(queueName);
        } catch (JMSException e) {
            System.out.println("Connection problem: " + e.toString());
            System.exit(1);
        } catch (NamingException e) {
            System.out.println("JNDI lookup problem: " + e.toString());
            System.exit(1);
        }

        try {
            queueSession = queueConnection.createQueueSession(true, 
Session.AUTO_ACKNOWLEDGE);
            queueSender = queueSession.createSender(queue);
            for(int i = 0; i < 50; ++i) {
              message = queueSession.createTextMessage();
              message.setText(msgText + " " + i);
              System.out.println("Sending message: " + message.getText());
              queueSender.send(message);
              queueSession.commit();
            }
        } catch (JMSException e) {
            System.out.println("Exception occurred: " + e.toString());
            exitResult = 1;
        } finally {
            if (queueConnection != null) {
                try {
                    queueConnection.close();
                } catch (JMSException e) {
                    exitResult = 1;
                }
            }
        }
        SampleUtilities.exit(exitResult); 
    }
}

****************** AsynchQueueReceiver.java ******************
import javax.jms.*;
import javax.naming.*;

public class AsynchQueueReceiver implements MessageListener {

   private QueueSession queueSession = null;

    public static void main(String[] args) {
      new AsynchQueueReceiver(args);
    }
    
    public void onMessage(Message message) {
      try {
        TextMessage msg = (TextMessage) message;
        System.out.println( msg.getText() );
        queueSession.commit();
      } catch(JMSException e) {
        System.err.println(e);
      }
    }


    public AsynchQueueReceiver(String args[]) {
        String                       queueName = null;
        QueueConnectionFactory       queueConnectionFactory = null;
        Queue                        queue = null;
        QueueConnection              queueConnection = null;
        QueueReceiver                queueReceiver = null;
        TextMessage                  message = null; 
        int                          exitResult = 0;
        
        if (args.length != 1) {
            System.out.println("Usage: java AsynchQueueReceiver <queue_name>");
            System.exit(1);
        }       
        queueName = new String(args[0]);
        System.out.println("Queue name is " + queueName);
            
        try {
            queueConnectionFactory = (QueueConnectionFactory)  
SampleUtilities.jndiLookup(SampleUtilities.QUEUECONFAC);
            queueConnection = queueConnectionFactory.createQueueConnection();
            queue = (Queue) SampleUtilities.jndiLookup(queueName);
        } catch (JMSException e) {
            System.out.println("Connection problem: " + e.toString());
            System.exit(1);
        } catch (NamingException e) {
            System.out.println("JNDI lookup problem: " + e.toString());
            System.exit(1);
        }

        try {
            queueSession = queueConnection.createQueueSession(true, 
Session.AUTO_ACKNOWLEDGE);
            queueReceiver = queueSession.createReceiver(queue);
            queueReceiver.setMessageListener(this);
            queueConnection.start();
            System.out.println("To end program, enter Q or q, then <return>");
            exitResult = SampleUtilities.wait_for_quit();
        } catch (JMSException e) {
            System.out.println("Exception occurred: " + e.toString());
            exitResult = 1;
        } finally {
            if (queueConnection != null) {
                try {
                    queueConnection.close();
                } catch (JMSException e) {
                    exitResult = 1;
                }
            }
        }
        SampleUtilities.exit(exitResult);
    }
}

***********************
Here the output of ./starter SimpleQueueSender testqueue@router1
Queue name is testqueue@router1
Sending message: Here is a message 0
Sending message: Here is a message 1
Sending message: Here is a message 2
Sending message: Here is a message 3
Sending message: Here is a message 4
Sending message: Here is a message 5
Sending message: Here is a message 6
Sending message: Here is a message 7
Sending message: Here is a message 8
Sending message: Here is a message 9
Sending message: Here is a message 10
Sending message: Here is a message 11
Sending message: Here is a message 12
Sending message: Here is a message 13
Sending message: Here is a message 14
Sending message: Here is a message 15
Sending message: Here is a message 16
Sending message: Here is a message 17
Sending message: Here is a message 18
Sending message: Here is a message 19
Sending message: Here is a message 20
Sending message: Here is a message 21
Sending message: Here is a message 22
Sending message: Here is a message 23
Sending message: Here is a message 24
Sending message: Here is a message 25
Sending message: Here is a message 26
Sending message: Here is a message 27
Sending message: Here is a message 28
Sending message: Here is a message 29
Sending message: Here is a message 30
Sending message: Here is a message 31
Sending message: Here is a message 32
Sending message: Here is a message 33
Sending message: Here is a message 34
Sending message: Here is a message 35
Sending message: Here is a message 36
Sending message: Here is a message 37
Sending message: Here is a message 38
Sending message: Here is a message 39
Sending message: Here is a message 40
Sending message: Here is a message 41
Sending message: Here is a message 42
Sending message: Here is a message 43
Sending message: Here is a message 44
Sending message: Here is a message 45
Sending message: Here is a message 46
Sending message: Here is a message 47
Sending message: Here is a message 48
Sending message: Here is a message 49

So, as you can see everything is ok.

But look at this:
jms@hawk:~/swiftmq/samples % ./starter AsynchQueueReceiver testqueue@router1
Queue name is testqueue@router1
To end program, enter Q or q, then <return>
Here is a message 0
Here is a message 2
Here is a message 4
Here is a message 6
Here is a message 8
Here is a message 10
Here is a message 12
Here is a message 14
Here is a message 16
Here is a message 18
Here is a message 20
Here is a message 22
Here is a message 24
Here is a message 26
Here is a message 28
Here is a message 30
Here is a message 32
Here is a message 34
Here is a message 36
Here is a message 38
Here is a message 40
Here is a message 40
Here is a message 42
Here is a message 44
Here is a message 46
Here is a message 48
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
Here is a message 49
q
jms@hawk:~/swiftmq/samples %

I think it is bug in swiftmq - or am I doing something wrong?


------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to 
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/




Reply via email to