Come mettere un messaggio nella coda JMS

May 4

servizio di messaggistica Java, o JMS, è una tecnologia standard per l'invio e la ricezione di messaggi tra le applicazioni. Questo accoppiamento lasco rende più semplice modificare le applicazioni in modo indipendente per soddisfare le esigenze nuove o mutate. Tipicamente Java Server Page, JSP, gli sviluppatori non interagiscono con le tecnologie aziendali come JMS. Ma ci può essere una necessità per attivare un'azione senza attendere che sia completato in modo che gli utenti ottengono un feedback più immediato. E 'possibile sfruttare JMS da JSP utilizzando una varietà di tecniche come la tag personalizzato o un servlet.

istruzione

1 Configurare una fabbrica di connessione JMS. Queste istruzioni specifiche per questa procedura varia a seconda del server di applicazione. Fare riferimento alle istruzioni del server di applicazione applicazione selezionata per i dettagli di configurazione. La produzione di connessione sarà utilizzato dal client JSP per creare una connessione a un provider. La fabbrica di connessione astrae le informazioni di configurazione di connessione. Impostazione di una fabbrica di connessione comporta radicalmente diversi passaggi su ciascun server delle applicazioni.

2 Configurare una coda JMS. Una coda è utilizzato per punto a punto la comunicazione tra le applicazioni JMS. Come la configurazione della produzione connessioni JMS, la creazione di una coda varia dalla server applicativo. I passaggi specifici necessari dovrebbero essere disponibili nella documentazione del server applicazioni.

3 Conferma la coda e la produzione di connessioni sono configurati utilizzando i comandi di gestione del server di applicazioni.

4 Creare un nuovo nome Servlet "sendMessage" in ambiente di sviluppo. Questo servlet contiene la logica per inviare il messaggio ricevuto dall'interfaccia JSP alla coda JMS configurato

com.mycompany.samples pacchetto;

import java.io. *;

javax.jms importazione. *;

importare javax.naming. *;

importare javax.servlet. *;

importare javax.servlet.http. *;

public class sendMessage estende HttpServlet {

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

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

PrintWriter out = response.getWriter ();

provare{

Contesto CTX = new InitialContext ();

ConnectionFactory ConnectionFactory = (ConnectionFactory) ctx.lookup (& quot; il nome di fabbrica & quot;);

coda di coda = (coda) ctx.lookup (& quot; Il nome della coda & quot;);

javax.jms.Connection connessione = connectionFactory.createConnection ();

sessione javax.jms.Session = connection.createSession (falso, Session.AUTO_ACKNOWLEDGE);

MessageProducer MessageProducer = session.createProducer (coda);

TextMessage message = session.createTextMessage ();

message.setText (request.getParameter (& quot; messaggio & quot;));

messageProducer.send (messaggio);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot;

"); Out.print (" messaggio "+ request.getParameter (" messaggio ") +" inviato alla coda "+ queue.getQueueName () +" "); out.println (".

");

out.println("");

out.println (& quot; & quot;);

} Catch (Exception ex) {

ex.printStackTrace ();

}

out.close ();

}

protetto doGet void (HttpServletRequest richiesta, HttpServletResponse risposta)

getta ServletException, IOException {

processRequest (richiesta, risposta);

}

protetto doPost void (HttpServletRequest richiesta, HttpServletResponse risposta)

getta ServletException, IOException {

processRequest (richiesta, risposta);

}

}

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

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

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

& Lt; tavolo cellspacing = & quot; 20 & quot; >

& Lt; tbody>

& Lt; tr>

& Lt; td> Messaggio: & lt; / Td>

& Lt; td> & lt; input type = & quot; testo & quot; name = & quot; messaggio & quot; value = & quot; & quot; width = & quot; 30 & quot; /> & Lt; / Td>

& Lt; / Tr>

& Lt; / Tbody>

& Lt; / Table>

& Lt; input type = & quot; presentare & quot; value = & quot; inviare il messaggio & quot; name = & quot; inviare & quot; />

& Lt; / Form>