Advertisement
Guest User

Producer

a guest
Aug 10th, 2013
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1. import java.math.BigInteger;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4. import java.util.Random;
  5. import javax.jms.BytesMessage;
  6. import javax.jms.Connection;
  7. import javax.jms.DeliveryMode;
  8. import javax.jms.Destination;
  9. import javax.jms.JMSException;
  10. import javax.jms.MessageProducer;
  11. import javax.jms.Session;
  12. import org.apache.activemq.ActiveMQConnectionFactory;
  13.  
  14.  
  15. public class Producer
  16. {
  17.  
  18.     /**
  19.      * @param args the command line arguments
  20.      */
  21.     public static void main(String[] args) throws NoSuchAlgorithmException
  22.     {
  23.         if (args.length != 1)
  24.         {
  25.             System.out.println("ARGUMENTS: conectionString (tcp://host:port)");
  26.         }
  27.         else
  28.         {
  29.             ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(args[0]);
  30.  
  31.             try
  32.             {
  33.                 Connection conn = factory.createConnection();
  34.                 conn.start();
  35.                 Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
  36.                 Destination q = session.createQueue("DATA");
  37.                 MessageProducer producer = session.createProducer(q);
  38.  
  39.                 byte[] body = new byte[1048576]; //1MB message
  40.                 new Random().nextBytes(body);
  41.  
  42.                 producer.setDeliveryMode(DeliveryMode.PERSISTENT);
  43.                 BytesMessage msg = session.createBytesMessage();
  44.                 msg.writeBytes(body);
  45.                 printMD5Sum(body);
  46.  
  47.                 for (int i = 0; i < 2000; i++)
  48.                 {
  49.                     msg.setJMSCorrelationID(Integer.toString(i));
  50.                     producer.send(msg);
  51.                 }
  52.  
  53.                 session.close();
  54.                 conn.close();
  55.  
  56.                 System.out.println("Done!");
  57.  
  58.             }
  59.             catch (JMSException jmse)
  60.             {
  61.                 System.err.println("-------------------------------");
  62.                 System.err.println(jmse.getMessage());
  63.                 System.err.println(jmse.getErrorCode());
  64.                 System.err.println("-------------------------------");
  65.             }
  66.         }
  67.  
  68.  
  69.  
  70.     }
  71.  
  72.     public static void printMD5Sum(byte[] data) throws NoSuchAlgorithmException
  73.     {
  74.         MessageDigest m = MessageDigest.getInstance("MD5");
  75.         m.update(data,0,data.length);
  76.         BigInteger i = new BigInteger(1,m.digest());
  77.         System.out.println(String.format("%1$032X", i));
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement