sendprescriptionservlet.java

来自「100多M的J2EE培训内容」· Java 代码 · 共 129 行

JAVA
129
字号
package bible.ejb.message.ui;


import java.io.*;
import java.util.*;
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.rmi.RemoteException;
import java.util.*;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.EJBException;
import javax.naming.*;
import javax.jms.*;


public class SendPrescriptionServlet extends HttpServlet {
    SessionContext      sc = null;
    QueueConnection     queueConnection = null;
    Queue               queue = null;



  public void init( ServletConfig config ) throws ServletException {

        Context context = null;
        QueueConnectionFactory queueConnectionFactory = null;

        try {
            context = new InitialContext();

      queue = (Queue)
                context.lookup("java:comp/env/jms/PrescriptionQueue");

            // Create a TopicConnection
            queueConnectionFactory = (QueueConnectionFactory)
            context.lookup("java:comp/env/jms/PrescriptionQueueConnectionFactory");
            queueConnection =
                queueConnectionFactory.createQueueConnection();



        } catch (Throwable t) {
//           log.append(t.toString());
        }
    }

   public void service( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException
  {

      QueueSession   queueSession = null;
        QueueSender queueSender = null;
        TextMessage    message = null;
        String pageToReturn = "";

        try {
            // retrieving parameters from request
        String physcianId = (String)req.getParameter("physcianId");
          String patientId = (String)req.getParameter("patientId");
        String date = (String)req.getParameter("date");
        String drug = (String)req.getParameter("drug");
        String note = (String)req.getParameter("note");


            // creating a jms session
            queueSession =
                queueConnection.createQueueSession(true, 0);

      queueSender = queueSession.createSender(queue);

      // loading up message
            message = queueSession.createTextMessage();
            message.setStringProperty("neccesity", "immediate");
            message.setText(generatePrescriptionXML(physcianId, patientId, date,drug, note ));

      // sending JMS message to queue
            queueSender.send(message,
                                javax.jms.DeliveryMode.NON_PERSISTENT,
                                javax.jms.Message.DEFAULT_PRIORITY,
                                2000);

      pageToReturn = "messageSent.jsp";



        } catch (Exception e) {

          pageToReturn = "error.jsp";
            e.printStackTrace();

        }


         getServletContext().getRequestDispatcher(pageToReturn).forward(req, res);
  }

    //XML Representation of a prescription

  private String generatePrescriptionXML(String physcianId, String patientId, String date,String drug, String note )
    {
        StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" ?>");

      sb.append("<PRESCRIPTION>");
        sb.append("<PHYSICIAN_ID>" + physcianId + "</PHYSICIAN_ID>");
        sb.append("<PATIENT_ID>" + patientId + "</PATIENT_ID>");
        sb.append("<DRUG>" + drug + "</DRUG>");
        sb.append("<NOTE>" + note + "</NOTE>");
        sb.append("</PRESCRIPTION>");

        return sb.toString();
    }

   // close the queue connection here
    public void destroy()
  {
      if (queueConnection != null) {
                try {
                    queueConnection.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
  }

}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?