Bonjour tout le monde,

Je suis entrain de développer une petite application qui envoie un message à partir d'une page JSP . ce message sera envoyer à la Queue puis à mon Message Driven bean.
une fois que mon bean récupère le message je voulais qu'il fasse la même chose qu'il envoie le message à une autre Queue et que ma JSP recoit le message .

Je connais pas trop bien comment je récupère le message :/

Bon voila ce que j'ai fais . Mon Message driven bean il recupere bien le message mais je sais pas comment je pourrai faire pour envoyer le message a nouveau à ma JSP.

Ma Servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
/*
 * sendMessage.java
 *
 * Created on May 5, 2006, 2:47 PM
 */
 
package servlets;
 
import java.io.*;
import java.net.*;
import javax.annotation.Resource;
import javax.jms.ConnectionFactory;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueReceiver;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
 
import javax.servlet.*;
import javax.servlet.http.*;
 
/**
 *
 * @author Masoud Kalali
 * @version
 */
public class sendMessage extends HttpServlet {
 
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
 
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        //start the jms stuff
        try{
            //+++++++++++++++++++++++++++++++++++++++++ Send MSG +++++++++++++++++++++++++++++++++++++++
            Context ctx = new InitialContext();
            ConnectionFactory     connectionFactory = (ConnectionFactory)ctx.lookup("jms/tConnectionFactory");
            Queue     queue = (Queue)ctx.lookup("jms/tQueue");
            javax.jms.Connection  connection = connectionFactory.createConnection();
            javax.jms.Session        session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
            MessageProducer messageProducer = session.createProducer(queue);
            TextMessage message = session.createTextMessage();
            message.setText(request.getParameter("message"));
            System.out.println( "It come from Servlet:"+ message.getText());
            messageProducer.send(message);
            session.close();
 
//message sent , it was all
 
            //show what we have done in this servlet
            /*
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet sendMessage</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<center>");
            out.print("Servlet Send this message <h2></h2>  to this Queue : <h2>"+queue1.getQueueName()+"</h2>");
            out.println("</center>");
            out.println("</body>");
            out.println("</html>");
            */
        } catch(Exception ex){
            ex.printStackTrace();
        }
 
        //out.close();
    }
 
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
Mon Message Driven Bean

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package mdbc;
 
import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenContext;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
 
/**
 *
 * @author NaoufaL
 */
@MessageDriven(mappedName = "jms/tQueue", activationConfig =  {
        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
    })
public class TMDBBean implements MessageListener {
    /** Creates a new instance of TMDB */
    public TMDBBean() {
    }
 
    @Resource
    private MessageDrivenContext mdc;
    public void onMessage(Message message) {
 
        TextMessage msg = null;
        try {
            if (message instanceof TextMessage) {
                msg = (TextMessage) message;
                            System.out.println("A Message received in TMDB: " +
                        msg.getText());
            } else {
               System.out.println("Message of wrong type: " +
                        message.getClass().getName());
 
            }
            //++++++++++++++++++++++++++++++++++++++ Replay  +++++++++++++++++++++++++++++++++++++++++++
 
 
 
        } catch (JMSException e) {
            e.printStackTrace();
            mdc.setRollbackOnly();
        } catch (Throwable te) {
            te.printStackTrace();
        }
 
 
    }
}
je vous précise bien que j'utilise . netbeans6.5 avec GlassFish.
je vous rapelle aussi que j'ai deja crée mes pool de connection JNDI et mon Queue sous Glassfish .


Merci d'avance .