Nwlapcug.com


Come mettere un messaggio in coda JMS

Messaggistica di servizio, o JMS, Java è una tecnologia standard per l'invio e la ricezione di messaggi tra applicazioni. Questo accoppiamento rende più facile modificare le applicazioni in modo indipendente per soddisfare le esigenze di nuovi o mutati. In genere gli sviluppatori Java Server Page, JSP, non interagiscono con tecnologie enterprise come JMS. Ma ci può essere una necessità di attivare un'azione senza in attesa di completare in modo che gli utenti ottengono un feedback più immediatamente. È possibile sfruttare JMS da utilizzando una varietà di tecniche come tag personalizzato o un servlet JSP.

Istruzioni

1

Configurare una factory di collegamento JMS. Questo istruzioni specifiche per questa procedura varia a seconda del server applicazioni. Consultare le istruzioni del server applicazioni applicazione selezionata per informazioni sulla configurazione. La fabbrica del collegamento verrà essere utilizzata dal client JSP per creare una connessione a un provider. La fabbrica del collegamento estrae le informazioni di configurazione di connessione. Impiantare una fabbrica di connessione comporta radicalmente diversi passaggi in ogni server applicazioni.

2

Configurare una coda JMS. Una coda è utilizzata per la comunicazione di JMS punto a punto tra le applicazioni. Come la configurazione del factory di collegamento JMS, creazione di una coda varia a seconda del server applicazioni. I passaggi specifici necessari dovrebbero essere disponibili nella documentazione del server di applicazione.

3

Confermare la fabbrica di coda e il collegamento sono l'installazione utilizzando i comandi di amministrazione del server applicazioni.

4

Creare nuova Servlet nome "sendMessage" nell'ambiente di sviluppo. Questa servlet contiene la logica per inviare il messaggio ricevuto dall'interfaccia JSP alla coda JMS configurata

pacchetto com.mycompany.samples;

importazione java.io;

importazione javax.jms.*;

importazione javax.naming.*;

importazione javax.servlet.*;

importazione javax.servlet.http.*;

publicclass sendMessage extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

try{

Context ctx = new InitialContext();

ConnectionFactory connectionFactory = (ConnectionFactory)ctx.lookup("your factory name");

Queue queue = (Queue)ctx.lookup("your queue name");

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"));

messageProducer.send(message);

out.println("");

out.println("");

out.println("");

out.println("");

out.println("");

out.println("

"); out.Print ("Messaggio" + request.getParameter("message") + "inviato alla coda" + queue.getQueueName() + "."); out.println("

");

out.println("");

out.println("");

} catch(Exception ex){

ex.printStackTrace();

}

out.close();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

}

5

Creare una pagina JSP nell'ambiente di sviluppo per inviare il messaggio alla coda JMS utilizzando la servlet. Immettere il seguente codice nella pagina JSP:

< title > Invia messaggio a coda JMS < /title >

&lt; form action=&quot;sendMessage&quot;>

&lt; table cellspacing=&quot;20&quot; >

&lt; tbody>

&lt; tr>

&lt; td>Message:&lt; /td>

&lt; td>&lt; input type=&quot;text&quot; name=&quot;message&quot; value=&quot;&quot; width=&quot;30&quot; />&lt; /td>

&lt; /tr>

&lt; /tbody>

&lt; /table>

&lt; input type=&quot;submit&quot; value=&quot;Send The message&quot; name=&quot;send&quot; />

&lt; /form>