- Статьи и примеры
- | Использование mdb
- | Про то, как можно использовать компоненты управляемые сообщениями (message driven beans) на практике.
- | Про то, как можно использовать компоненты управляемые сообщениями (message driven beans) на практике страница 2
Про то, как можно использовать компоненты управляемые сообщениями (Message Driven Beans) на практике Страница 2
Практика
Теперь подробнее о некоторых моментах.
1. После установки сервера приложений Orion, исправим файл orion/config/server.xml таким образом:
#Раскомментируем строчку <jms-config path="./jms.xml" /> #Добавим наше приложение <application name="my_application" path = "c:\orion\applications\my_application.ear" auto-start="true" /> #Комментируем. Оно нам не надо. <!-- <web-site path="./default-web-site.xml" /> --> #Добавим описание нашего сервера <web-site path="./my_application-web-site.xml" />
2. Правим файл orion/config/jms.xml:
#Добавим Queue: <!-- My_application Worker Queue --> <queue name="My applicationr Worker Queue" location="jms/MyApplicationWorkerQueue"> <description>My Application Worker Queue</description> </queue>
3. Правим файл orion/config/rmi.xml:
#Изменим порт на 23793 <rmi-server port="23793>
4. Создадим папку orion/start. Внутри ее создадим файл orion.bat. Это будет самый главный запускающий скрипт.
@echo off set PATH=C:\jdk5 c: cd c:\orion echo Starting the Orion... "%PATH%/bin/java" -Xms120M -Xmx1024M -classpath d:/o -jar orion.jar
5. Создадим файл orion/config/my_application-web-site.xml с описанием нашего веб сайта. Специально зададим отличный от стандартного порт, чтобы не порушить другие процессы.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-site PUBLIC "Orion Web-site" "http://www.orionserver.com/dtds/web-site.dtd"> <web-site host="[ALL]" port="8092" display-name="My Application Web Site"> <default-web-app application="MyApplication" name="MyApplication-web" /> <access-log path="../log/MyApplication.log" /> </web-site>
На этом настройки сервера приложеинй заканчиваются. Перейдем собственно к приложению.
6. Класс сервлета. Метод doGet. Ничего особенного.
 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // Set the MIME type of the response, "text/html"
  response.setContentType("text/html");
  ServletOutputStream out = response.getOutputStream();
  // Begin assembling the HTML content
  out.println("<html><head>");
  out.println("<link rel=stylesheet href='/mw.css' type='text/css'> ");
  out.println("<title>ApplicationServlet</title>");
  out.println("</head><body><table width=\"100%\">");
  out.println("<tbody><tr><td align=\"center\");
  out.println("style='text-align:center'>");
  out.println("<br /><h2>ApplicationServlet</h2>");
  out.println("<form method=\"post\" action =\"/servlet/ApplicationServlet\" >");
  out.println("<table align=\"center\" width=\"400px\"><tbody>");
  out.println("<tr><td align=\"center\"><br /><br />");
  out.println("<input type=\"submit\" value=\"Go go\" /></td></tr");
  out.println("></tbody></table></form>");
  out.println("</td></tr></tbody></table>");
  out.println("</body></html>");
 }
7. Класс сервлета. Метод doPost. Реализуем модель передачи сообщений точка-точка.
 // prepare JMS staff
 QueueConnection jmsConnection;
 Queue jmsWorkerQueue= null;
 QueueSession jmsWorkerSession   = null;
 Context context;
 
 try {
  context   = new InitialContext();
  QueueConnectionFactory factory 	= (QueueConnectionFactory) context.lookup("jms/QueueConnectionFactory");
  jmsConnection	= factory.createQueueConnection();
  jmsConnection.start();
  jmsWorkerQueue	= (Queue) context.lookup(System.getProperty("jms_worker_queue"));
  jmsWorkerSession = jmsConnection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
 } catch (NamingException e) {
  e.printStackTrace();
 } catch (JMSException e) {
  e.printStackTrace();
 }
