ÃֽŠ°Ô½Ã±Û(JAVA)
2017.06.12 / 13:56

[JAVA] JMS ±¸ÇöÇغ¸±â (send)

Ŭ·¡½Ä·Î¾â
Ãßõ ¼ö 223

Java Message Service(JMS)´Â ³×Æ®¿öÅ©¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ¼Û¼ö½Å ÇÏ´Â apiÀÌ´Ù.
J2EE¹öÀüºÎÅÍ Á¸ÀçÇÑ´Ù.

JMS¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¿©·¯°¡Áö Á¢¼Ó ¹æ¹ýÀÌ ÀÖ°ÚÁö¸¸ JNDI·Î¸¸ Å×½ºÆ® ÇغôÙ.
JNDI¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ÃÖ¼Ò jbossÀÌ»óÀÇ was°¡ ÇÊ¿äÇÏ´Ù.
tomcatÀº j2se¹öÀüÀ» Áö¿øÇϹǷΠÁö¿øÀÌ ¾ÈµÈ´Ù°í ³ª¿ÍÀÖ´Ù.

¸Þ¼¼Áö¸¦ º¸³»´Â ÀÚ¹Ù ¼Ò½º ºÎºÐ
Ãâó´Â ±¸±Û°Ë»öÀÌ°í ±¸Çö µÈ ¼Ò½º¸¦ °¡Áö°í ¿Ô´Ù.
Æۿͼ­ µ¹·Áº» °ÍÀ̱⠶§¹®¿¡ ±âÁ¸ÀÇ ÁÖ¼®Àº »èÁ¦ÇÏÁö ¾Ê°Ú´Ù.
ÅäÇÈÀ» ÀÌ¿ëÇÑ ¸Þ¼¼Áö ¼Û½Å ºÎºÐÀÌ´Ù.
/*
Use source code downloads, example commands,
and any other techniques at your own risk.
No warranty is provided.
*/

import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class Sender {

 String url_;
 String name_;
 TopicConnection conn = null;
 TopicSession session = null;
 Topic topic = null;

 public Sender(String url, String name) throws JMSException, NamingException {

  url_ = url;
  name_ = name;

      this.initializeSender();

     }

 private void initializeSender() throws JMSException, NamingException {


  Properties props = new Properties();
  props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
  props.setProperty("java.naming.provider.url", url_);

  Context context = new InitialContext(props);

  TopicConnectionFactory tcf = (TopicConnectionFactory) context.lookup("ConnectionFactory");
  conn = tcf.createTopicConnection();
  topic = (Topic) context.lookup(name_);

  session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
  conn.start();


 }

  public void send(String text) throws JMSException, NamingException {

      // Send a text msg
      TopicPublisher send = session.createPublisher(topic);
      TextMessage tm = session.createTextMessage(text);
      send.publish(tm);
      send.close();
  }


 public void disconnect() throws JMSException {
  if(conn != null) {
   conn.stop();
  }

  if(session != null) {
   session.close();
  }

  if(conn != null) {
   conn.close();
  }
 }

 public String getTopicName() {
  return name_;
 }

 public String getTopicURL() {
  return url_;
 }

 public static void main(String args[]) throws Exception {

  System.out.println("Starting JMS Example Sender");

         Sender sender = new Sender("ip address or domain:port", "TopicName");

         System.out.println("Sending list of Adam Sandler Movies");

         sender.send("°øÁö»çÇ× ÀÔ´Ï´Ù.");
         sender.disconnect();

          System.out.println("JMS Example Sender Complete - list sent");

     }




Ãâó: http://gridweb.tistory.com/19 [Grid Life]