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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1276 - (hide annotations) (download)
Thu Apr 7 19:24:51 2011 UTC (13 years, 2 months ago) by torben
File size: 2641 byte(s)
Not it works 
1 torben 1275 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 torben 1276
55 torben 1275 producer.send(message);
56    
57    
58     QueueReceiver consumer = session.createReceiver(responseQueue);
59 torben 1276 connection.start(); //incomming messages is not received until a start is given
60 torben 1275
61    
62 torben 1276 TextMessage reply = (TextMessage) consumer.receive(500); //wait max 500 ms for replay
63 torben 1275
64    
65     if (reply != null)
66 torben 1276 response.getWriter().print("Reply: " + reply.getText() );
67 torben 1275 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