A question about the transaction?
liverpoolilove Jun 18, 2013 2:53 AMI created an MDB in my project.As follows:
/**
* Message-Driven Bean implementation class for: QueueListenerMDB
*/
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/test") })
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class QueueListenerMDB implements MessageListener {
/**
* Default constructor.
*/
public QueueListenerMDB() {
}
/**
* @see MessageListener#onMessage(Message)
*/
public void onMessage(Message message) {
sendMessage(message);
}
public void sendMessage(Message message) {
try {
if (message instanceof TextMessage) {
System.out.println("Queue: I received a TextMessage at "
+ new Date());
TextMessage msg = (TextMessage) message;
System.out.println("Message is : " + msg.getText());
} else if (message instanceof ObjectMessage) {
System.out.println("Queue: I received an ObjectMessage at "
+ new Date());
ObjectMessage msg = (ObjectMessage) message;
DBTrigger trigger = (DBTrigger) msg.getObject();
triggerService.saveTrigger(trigger);
System.out.println("trigger Details: ");
System.out.println(trigger);
} else {
System.out.println("Not valid message for this Queue MDB");
}
} catch (JMSException e) {
e.printStackTrace();
}
}