There is an MDB listening for messages on queue/event and it just prints that
it has received a message.
There is a client that is sending messages.
import java.util.Hashtable;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
public class JBossMessagingMain {
public static void main(String[] args) throws Exception {
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
env.put("java.naming.factory.url.pkgs",
"org.jboss.naming:org.jnp.interfaces");
env.put(Context.PROVIDER_URL, "localhost:1099");
Thread[] senders = new Thread[] {
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env)),
new Thread(new JBossMessageSender(env))
};
for (int i = 0; i < senders.length; i++) {
Thread thread = senders;
thread.start();
Thread.sleep(10);
}
}
}
class JBossMessageSender implements Runnable {
private Connection conn = null;
private Session session = null;
private MessageProducer sender = null;
private String msg = "Hello JBoss Messaging";
public JBossMessageSender(Hashtable env) throws Exception {
InitialContext context = new InitialContext(env);
QueueConnectionFactory qcf = (QueueConnectionFactory)
context.lookup("/ConnectionFactory");
conn = qcf.createConnection();
session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
sender = session.createProducer((Queue)
context.lookup("queue/event"));
}
public void run() {
try {
TextMessage message = session.createTextMessage(msg);
message.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
message.setJMSPriority(7);
for(int i = 0; i < 1000; i++) {
message.setText(msg);
sender.send(message);
message.clearBody();
if ((i % 10) == 0) {
//System.out.println("Comitting");
if (session.getTransacted()) {
session.commit();
}
Thread.sleep(1);
}
Thread.sleep(1);
}
if (session.getTransacted()) {
session.commit();
}
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {session.close();} catch (Exception e1)
{e1.printStackTrace();}
try {conn.close();} catch (Exception e1)
{e1.printStackTrace();}
try {sender.close();} catch (Exception e1)
{e1.printStackTrace();}
}
}
}
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3952358#3952358
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3952358
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user