MDBBlacktieService.java
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:2k
源码类别:

中间件编程

开发平台:

Java

  1. package org.jboss.blacktie.jatmibroker.xatmi.mdb;
  2. import javax.jms.BytesMessage;
  3. import javax.jms.Message;
  4. import javax.jms.MessageListener;
  5. import org.apache.log4j.LogManager;
  6. import org.apache.log4j.Logger;
  7. import org.jboss.blacktie.jatmibroker.core.conf.ConfigurationException;
  8. import org.jboss.blacktie.jatmibroker.core.transport.hybrid.JMSReceiverImpl;
  9. import org.jboss.blacktie.jatmibroker.xatmi.ConnectionException;
  10. import org.jboss.blacktie.jatmibroker.xatmi.Service;
  11. /**
  12.  * All blacktie MDB services should extend this class so that they can be
  13.  * advertised
  14.  */
  15. public abstract class MDBBlacktieService extends Service implements
  16. MessageListener {
  17. /**
  18.  * A logger to log the output to.
  19.  */
  20. private static final Logger log = LogManager
  21. .getLogger(MDBBlacktieService.class);
  22. /**
  23.  * MDB services should use this constructor with the name of the service
  24.  * they are using.
  25.  * 
  26.  * @param name
  27.  *            The name of the service
  28.  * @throws ConnectionException
  29.  *             In case the connection cannot be established
  30.  * @throws ConfigurationException
  31.  *             In case the btconfig.xml is invalid or the transport does
  32.  *             not exist
  33.  */
  34. public MDBBlacktieService(String name) throws ConfigurationException,
  35. ConnectionException {
  36. super(name);
  37. }
  38. public void onMessage(Message message) {
  39. try {
  40. BytesMessage bytesMessage = ((BytesMessage) message);
  41. org.jboss.blacktie.jatmibroker.core.transport.Message toProcess = JMSReceiverImpl
  42. .convertFromBytesMessage(bytesMessage);
  43. log.debug("SERVER onMessage: ior: " + toProcess.control);
  44. processMessage(toProcess);
  45. log.debug("Processed message");
  46. } catch (Throwable t) {
  47. log.error("Could not service the request", t);
  48. }
  49. }
  50. }