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/