我正在使用Oracle Weblogic Server,如何处理mdb onMessage()中的异常。有一个例外,那么消息将保留在队列与否,因为消息不被处理&是有可能得到该消息后如果Onmessage()方法中存在异常,它是否将保留队列中的messgae并在以后再次调用MDB
这里是我的代码:
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenBean;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
import java.util.logging.Logger;
import javax.ejb.ActivationConfigProperty;
@MessageDriven(
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") ,
@ActivationConfigProperty(propertyName="connectionFactoryJndiName",propertyValue="TestQCF"),
@ActivationConfigProperty(propertyName="destinationJndiName", propertyValue="testQ")
}
,mappedName="testQ"
)
public class MyMDB implements MessageListener{
public void onMessage(Message message){
TextMessage textMessage = (TextMessage) message;
try {
System.out.println("Received message is :"+ textMessage.getText());
}
catch (JMSException e){
e.printStackTrace();
}
}
}
我没有使用任何xml文件。只是在weblogic上部署了war文件 – user7352962
Xml只是JMS的配置,甚至可以在您添加了其他配置的JMS代码中添加配置。 –