Wenn Message Driven Beans verwenden, die Zielnamen, von wo Nachrichten zu empfangen ist hart in der Anmerkung codiert @MessageDriven(mappedName = "someDestinationName")
Konfigurieren MappedName Annotation in Message Driven Bean dynamisch
Gibt es eine Möglichkeit, diese Informationen zur Laufzeit hinzufügen? Unten ist eine Beispiel-Message-Driven-Bean-Klasse.
package mdb.beans;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
@MessageDriven(mappedName = "someDestinationName", activationConfig =
{
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class MDBSample implements MessageListener
{
public MDBSample()
{
// constructor
}
@Override
public void onMessage(Message message)
{
// logic when message received
}
}