1 19 20 package za.org.coefficient.statistics.beans; 21 22 import net.sf.hibernate.HibernateException; 23 24 import za.org.coefficient.util.common.InvokerFactory; 25 26 import javax.ejb.EJBException ; 27 import javax.ejb.MessageDrivenBean ; 28 import javax.ejb.MessageDrivenContext ; 29 30 import javax.jms.JMSException ; 31 import javax.jms.MapMessage ; 32 import javax.jms.Message ; 33 import javax.jms.MessageListener ; 34 35 44 public class StatisticsMessageBean implements MessageDrivenBean , 45 MessageListener { 46 48 private static final String PROJECT = "project"; 49 private static final String NAME = "name"; 50 private static final String ACTION = "action"; 51 52 54 private MessageDrivenContext ctx = null; 55 56 58 public StatisticsMessageBean() { 60 } 61 62 64 public void setMessageDrivenContext(MessageDrivenContext ctx) 66 throws EJBException { 67 this.ctx = ctx; 68 } 69 70 public void ejbCreate() { 71 } 72 73 public void ejbRemove() { 74 } 75 76 public void onMessage(Message message) { 80 if (message instanceof MapMessage ) { 81 MapMessage mm = (MapMessage ) message; 82 try { 83 String name = mm.getString(NAME); 84 Long prjId = new Long (mm.getLong(PROJECT)); 85 String action = mm.getString(ACTION); 86 if(name == null) { 87 name = ""; 88 } 89 InvokerFactory.getInvoker().invokeMethodOnService("StatisticsService", "doStatistics", new Object []{name, prjId, action}); 90 } catch (JMSException jmsex) { 91 jmsex.printStackTrace(); 92 System.err.println("<< exception getting values from messsage"); 93 } catch (HibernateException he) { 94 he.printStackTrace(); 95 System.err.println("<< hibernate exception, crap!!"); 96 } catch (Exception e) { 97 e.printStackTrace(); 98 System.err.println("<< exception, calling service!!"); 99 } 100 } else { 101 System.out.println( 102 "StatisticsMessageBean expected MapMessage but got message - " 103 + message.getClass()); 104 } 105 } 106 } 107 | Popular Tags |