package org.jboss.seam.example.remoting.chatroom; import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; import org.jboss.seam.annotations.Logger; import org.jboss.seam.annotations.Name; import org.jboss.seam.log.Log; @MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"), @ActivationConfigProperty(propertyName="destination", propertyValue="topic/chatroomTopic") }) @Name("logger") public class LoggerBean implements MessageListener { @Logger Log log; public void onMessage(Message msg) { try { ChatroomEvent event = (ChatroomEvent) ( (ObjectMessage) msg ).getObject(); log.info( "#0: #1", event.getUser(), event.getData()==null ? event.getAction() : event.getData() ); } catch (JMSException jmse) { throw new RuntimeException(jmse); } } }