%@ page contentType="text/html;charset=euc-kr"
import="javax.naming.*, java.io.*, javax.jms.*, javax.jms.Queue"%>
<%!
String literal;
boolean persistent;
int priority;
long ttl;
String replyto;
String msgText;
%>
<%
try {
if (request.getMethod().equals("GET")) {
%>
JMS Message Sender
Submit a JMS Message at Topic
<%
} else {
persistent = request.getParameter("persistent").equals("persistent");
priority = Integer.parseInt(request.getParameter("priority"));
ttl = Long.parseLong(request.getParameter("timetolive"));
replyto = request.getParameter("replyto");
msgText = request.getParameter("msgtext");
sendTopicMessage(persistent, priority, ttl, replyto, msgText);
%>
Message Status
Message Status
Message Submitted: <%=msgText %>
<%
return;
}
} catch (Exception e) {
e.printStackTrace();
}
%>
<%!
public void sendTopicMessage(boolean persistent, int priority, long ttl,
String replyto, String topicMessage) throws NamingException, JMSException {
Context ctx = new InitialContext();
TopicConnectionFactory tconFactory;
TopicConnection connection;
TopicSession session;
TopicPublisher publisher;
Topic topic;
Queue queue;
TextMessage msg;
tconFactory = (TopicConnectionFactory) ctx.lookup("TopicConnectionFactory");
connection = tconFactory.createTopicConnection();
session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topic = (Topic) ctx.lookup("ExamplesTopic");
publisher = session.createPublisher(topic);
msg = session.createTextMessage();
if (replyto.equals("topic")) {
msg.setJMSReplyTo(topic);
} else if (replyto.equals("queue")) {
try {
queue = (Queue) ctx.lookup("ExamplesTopic");
msg.setJMSReplyTo(queue);
} catch (NamingException ne) {}
}
msg.setText(topicMessage);
connection.start();
publisher.publish(msg,
persistent ? DeliveryMode.PERSISTENT: DeliveryMode.NON_PERSISTENT,
priority,
ttl);
publisher.close();
session.close();
connection.close();
}
%>