import javax.ejb.CreateException;
import javax.ejb.MessageDrivenBean;
import javax.ejb.MessageDrivenContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

public class MDBeanExample implements MessageDrivenBean, MessageListener{
	private MessageDrivenContext ctx;
	private TextMessage tm;
	
	public void setMessageDrivenContext(MessageDrivenContext ctx) {
		this.ctx = ctx;
	}
	
	public void ejbCreate() throws CreateException {
		System.err.println("Message-driven Bean created");
	}
	
	public void ejbRemove() {
		//does nothing
	}
	
	public void onMessage(Message msg)  {
		if (msg instanceof TextMessage) {
			this.tm = (TextMessage) msg;
			try {
				System.out.println("Message received: "+this.tm.getText());
				System.out.println("Company="+this.tm.getStringProperty("Company"));
				System.out.println("USD="+this.tm.getDoubleProperty("USD"));
				System.out.println("EUR="+this.tm.getStringProperty("EUR"));
				System.out.println("---------------------------");
			} catch (JMSException je) {
				System.err.println("JMSException caught");
				je.printStackTrace();
			}
		}
	}
}
