[JAVA] JMS ±¸ÇöÇغ¸±â (send)
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]