/[projects]/miscJava/Test3/src/dk/thoerup/messagedriven/ReverserServlet.java
ViewVC logotype

Contents of /miscJava/Test3/src/dk/thoerup/messagedriven/ReverserServlet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1276 - (show annotations) (download)
Thu Apr 7 19:24:51 2011 UTC (13 years, 1 month ago) by torben
File size: 2641 byte(s)
Not it works 
1 package dk.thoerup.messagedriven;
2
3 import java.io.IOException;
4
5 import javax.annotation.Resource;
6 import javax.jms.Message;
7 import javax.jms.MessageListener;
8 import javax.jms.MessageProducer;
9 import javax.jms.Queue;
10 import javax.jms.QueueConnection;
11 import javax.jms.QueueConnectionFactory;
12 import javax.jms.QueueReceiver;
13 import javax.jms.QueueSession;
14 import javax.jms.Session;
15 import javax.jms.TextMessage;
16 import javax.servlet.ServletException;
17 import javax.servlet.annotation.WebServlet;
18 import javax.servlet.http.HttpServlet;
19 import javax.servlet.http.HttpServletRequest;
20 import javax.servlet.http.HttpServletResponse;
21
22 @WebServlet(name = "ReverserServlet", urlPatterns = { "/ReverserServlet" })
23 public class ReverserServlet extends HttpServlet {
24 private static final long serialVersionUID = 1L;
25
26 // resource mapped vars may of course not be static !
27 @Resource(mappedName = "jms/helloFactory")
28 private QueueConnectionFactory connectionFactory;
29
30 @Resource(mappedName = "jms/reverse")
31 private Queue queue;
32
33 @Resource(mappedName = "jms/reverseResponse")
34 private Queue responseQueue;
35
36
37
38 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
39 String msg = request.getParameter("msg");
40 if (msg == null)
41 msg = "Default";
42
43 try {
44 QueueConnection connection = connectionFactory.createQueueConnection();
45
46
47 QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
48 MessageProducer producer = session.createProducer(queue);
49
50 TextMessage message = session.createTextMessage();
51
52 message.setText(msg);
53 message.setJMSReplyTo(responseQueue);
54
55 producer.send(message);
56
57
58 QueueReceiver consumer = session.createReceiver(responseQueue);
59 connection.start(); //incomming messages is not received until a start is given
60
61
62 TextMessage reply = (TextMessage) consumer.receive(500); //wait max 500 ms for replay
63
64
65 if (reply != null)
66 response.getWriter().print("Reply: " + reply.getText() );
67 else
68 response.getWriter().print("No reply !!!");
69
70 connection.close();
71 } catch (Exception e) {
72 throw new ServletException(e);
73 }
74 }
75
76 class Test implements MessageListener {
77
78 @Override
79 public void onMessage(Message message) {
80 // TODO Auto-generated method stub
81 System.out.println("onMessage() ");
82 }
83
84 }
85 }

  ViewVC Help
Powered by ViewVC 1.1.20