1 23 package cluster.queue; 24 25 import javax.jms.*; 26 import javax.naming.*; 27 28 31 public class Producer { 32 static Context ictx = null; 33 34 public static void main(String [] args) throws Exception { 35 36 int i = new Integer (args[0]).intValue(); 37 System.setProperty("location", ""+i); 38 39 int nbMsg = new Integer (args[1]).intValue(); 40 41 int sleep = Integer.getInteger("sleep", 500).intValue(); 42 int nbMsgSleep = Integer.getInteger("nbMsgSleep", 10).intValue(); 43 44 System.out.println(); 45 System.out.println("Produces " + nbMsg + " messages on the cluster queue..."); 46 System.out.println("sleep = " + sleep + ", nbMsgSleep=" + nbMsgSleep); 47 48 ictx = new InitialContext(); 49 Destination clusterQueue = (Destination) ictx.lookup("clusterQueue"); 50 System.out.println("clusterQueue = " + clusterQueue); 51 QueueConnectionFactory cf = (QueueConnectionFactory) ictx.lookup("qcf"+i); 52 ictx.close(); 53 54 QueueConnection cnx = cf.createQueueConnection("user"+i,"user"+i); 55 QueueSession sess = cnx.createQueueSession(false,Session.AUTO_ACKNOWLEDGE); 56 MessageProducer producer = sess.createProducer(null); 57 58 TextMessage msg = sess.createTextMessage(); 59 long time = System.currentTimeMillis(); 60 System.out.println("FirstTime = " + time); 61 62 int j; 63 for (j = 0; j < nbMsg; j++) { 64 msg.setText("location " + i +" : Test number " + j); 65 producer.send(clusterQueue, msg); 66 if (sleep > 0 && (j % nbMsgSleep) == 0) { 67 Thread.sleep(sleep); 68 } 69 } 70 time = System.currentTimeMillis() - time; 71 System.out.println("time = " + time); 72 73 cnx.close(); 74 } 75 } 76 | Popular Tags |