PrescriptionBean.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.ejb.message.prescription;
  2. import java.io.Serializable;
  3. import java.rmi.RemoteException;
  4. import javax.ejb.EJBException;
  5. import javax.ejb.MessageDrivenBean;
  6. import javax.ejb.MessageDrivenContext;
  7. import javax.ejb.CreateException;
  8. import javax.naming.*;
  9. import javax.jms.*;
  10. import org.xml.sax.*;
  11. import org.xml.sax.helpers.*;
  12. public class PrescriptionBean implements MessageDrivenBean,javax.jms.MessageListener {
  13.     public  PrescriptionBean() {
  14.     }
  15.     public void setMessageDrivenContext(MessageDrivenContext mdc)
  16.     {
  17.     }
  18.     public void ejbCreate() {
  19.     }
  20.      public void onMessage(Message incomingMsg) {
  21.         TextMessage msg =   null;
  22.     String msgType  =   null;
  23.     String msgPayload = null;
  24.         try {
  25.             if (incomingMsg instanceof TextMessage) {
  26.             msg = (TextMessage) incomingMsg;
  27.         msgType = msg.getStringProperty("neccesity");
  28.         msgPayload = msg.getText();
  29.         if (msgType.equals("immediate"))
  30.           processPrescription(msgPayload);
  31.             } else {
  32.               System.out.println("Only accepting text messages");
  33.             }
  34.         } catch (JMSException e) {
  35.             e.printStackTrace();
  36.         } catch (Throwable te) {
  37.             te.printStackTrace();
  38.         }
  39.     }
  40.     public void ejbRemove() {
  41.     }
  42.   public void processPrescription(String prescriptionXmlDocument)
  43.   {
  44.       try {
  45.       PrescriptionXmlParser parser = new PrescriptionXmlParser();
  46.       // Create SAX 2 parser...
  47.         XMLReader xr = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
  48.         // Set the ContentHandler...
  49.         xr.setContentHandler(parser);
  50.         xr.parse( prescriptionXmlDocument );
  51.     Prescription currentPrescription = parser.getPrescription();
  52.     // Now that you have the prescription object
  53.     // you can make calls to various backend order
  54.     // management systems
  55.       }
  56.       catch (Exception e)
  57.       {
  58.           System.out.println("Message not parsed correctly");
  59.       }
  60.   }
  61. }