Java -tjenesten, eller JMS , er en standard teknologi for sending og mottak av meldinger mellom applikasjoner . Dette løs kopling gjør det enklere å endre programmene uavhengig for å møte nye eller endrede krav . Vanligvis Java Server Page , JSP , trenger utviklerne ikke samhandler med bedriftens teknologier som JMS . Men det kan være behov for å utløse en handling uten å vente på det å fullføre , slik at brukerne får tilbakemeldinger mer umiddelbart . Det er mulig å utnytte JMS fra JSP hjelp av en rekke teknikker som egendefinert kode eller en servlet . Du trenger
Java Enterprise Edition 1.3 eller høyere
Java-utviklingsmiljø som Eclipse
Java-applikasjonsserver eller web container med JMS
Java -programmering kjennskap
Vis flere instruksjoner
en
Konfigurer en JMS forbindelse fabrikken. Denne spesifikke instruksjoner for denne fremgangsmåten varierer etter applikasjonsserver . Se instruksjonene i den valgte applikasjonen applikasjonstjeneren for konfigurasjon detaljer. Forbindelsen fabrikken vil bli brukt av JSP klienten til å opprette en tilkobling til en leverandør . Forbindelsen fabrikken abstracts forbindelsen konfigurasjonen informasjon. Sette opp en tilkobling fabrikken innebærer radikalt forskjellige trinnene på hver applikasjonsserver .
2
Konfigurer en JMS køen. En kø benyttes for punkt til punkt JMS kommunikasjon mellom programmer. I likhet med konfigurasjonen av JMS forbindelse fabrikken , sette opp en kø varierer etter applikasjonsserver . Konkrete tiltak som kreves, bør være tilgjengelig i applikasjonstjeneren dokumentasjon.
3
Bekreft køen og tilkobling fabrikken er oppsett ved hjelp av programmet serverens administrative kommandoer .
4
Opprett ny Servlet navnet " SendMessage " i utviklingsmiljø . Dette servlet inneholder logikken å sende meldingen mottatt fra JSP -grensesnittet til de konfigurerte JMS køen
pakken com.mycompany.samples ;
import java.io. * ;
< p > importer javax.jms * ; .
import javax.naming * ; .
import javax.servlet * ; . .
import javax.servlet.http * ;
public class SendMessage strekker HttpServlet {
beskyttet ugyldig processRequest ( HttpServletRequest forespørsel , HttpServletResponse respons) kaster ServletException , IOException {
response.setContentType ( "text /html ; charset = UTF - 8 ");
PrintWriter ut = response.getWriter ();
try {
Context ctx = new InitialContext ();
ConnectionFactory connectionFactory = ( connectionFactory ) ctx.lookup ( "din fabrikken navn ");
kø kø = ( kø ) ctx.lookup ( "din køen navn ");
javax.jms . tilkobling tilkobling = connectionFactory.createConnection ();
javax.jms.Session session = connection.createSession ( falsk , Session.AUTO_ACKNOWLEDGE ) ;
MessageProducer messageProducer = session.createProducer ( kø) ;
tekstmelding melding = out.print ( "Melding " + request.getParameter ( "melding" ) + " sendt til Queue " + queue.getQueueName ( ) + " . "); catch ( Exception ex ) {
ex.printStackTrace ();
}
out.close ();
}
beskyttede void doGet ( HttpServletRequest forespørsel , HttpServletResponse respons)
kaster ServletException , IOException {
processRequest (forespørsel , respons) ;
}
beskyttet ugyldig doPost ( HttpServletRequest forespørsel , HttpServletResponse respons)
kaster ServletException , IOException {
processRequest (forespørsel , respons) ;
}
}
5
Lag en JSP side i utviklingsmiljøet for å sende meldingen til JMS køen ved hjelp av servlet . Skriv inn følgende kode i JSP side : en
< title> Send melding til JMS - kø < /title >
< form action = " SendMessage ">
< p> < table cellspacing = " 20 " >
< tbody >
< tr >
< td> Melding: < /td >
< td> < input type = "text " name = "melding" value = " " width = " 30 " /> < /td >
< p > < /tr >
< /tbody >
< /table >
< input type = " submit" value = " Send meldingen" ; name = " send " />
< /form>