You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB
Java

Consume text message bean
package com.ack.j2ee.mdb;
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 ConsumeTextMessageBean implements MessageDrivenBean, MessageListener {
private MessageDrivenContext messageDrivenContext;
public void ejbCreate() throws CreateException {
System.out.println( "ejbCreate: " + getClass().getName() );
}
public void ejbRemove() {
System.out.println( "ejbRemove: " + getClass().getName() );
}
public void onMessage( Message msg ) {
if( msg instanceof TextMessage ) {
try {
System.out.println( ( (TextMessage) msg ).getText() );
}
catch( JMSException jme ) {
System.out.println( "JMS Problem: " + jme.getMessage() );
messageDrivenContext.setRollbackOnly();
}
catch( Throwable te ) {
System.out.println( "Serious Problem: " + te.getMessage() );
messageDrivenContext.setRollbackOnly();
}
}
else {
System.out.println( "Not a TextMessage: " );
}
}
public void setMessageDrivenContext( MessageDrivenContext messageDrivenContext ) {
this.messageDrivenContext = messageDrivenContext;
}
}