Hallöle,
ich möchte innerhalb eines MessageDriven Beans auf ein Stateful Bean zugreifen und bekomme folgende Fehlermeldung;
javax.ejb.NoSuchEJBException: Bean has been deleted
Das Stateful Bean ist aber auch nicht null, nur der Zugriff macht Probleme.
Sobald ich die EJB auf Stateless umstelle, bekomme ich über das MessageDrivenBean Zugriff drauf, ohne dass eine Fehlermeldung kommt.
Habe ich da was verpasst, dass es grundsätzlich nicht funktioniert, oder woran könnte es liegen.
viele Grüße
Steven
MessageDrivenBean
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic") },
mappedName = "jms/defaultTopic")
public class MessageDrivenTopicEJBBean implements MessageListener {
private static final Logger LOGGER = LogManager.getLogger(MessageDrivenTopicEJBBean.class);
@EJB
private QueueSenderSessionBean<Object> queueSenderSessionBean;
public void onMessage(Message message) {
try {
ObjectMessage objectMessage = (ObjectMessage) message;
LOGGER.info("queueSenderSessionBean - {}", queueSenderSessionBean);
**queueSenderSessionBean.handleCommand(objectMessage.getObject());**
} catch (Exception e) {
LOGGER.error(e);
}
}
}
Stateful/Stateless Bean
@Stateful(name = "QueueSenderSessionBean", mappedName = "QueueSenderSessionBean")
public class QueueSenderSessionBeanImpl implements QueueSenderSessionBean<DefaultResponseMessage<DataPresentation>> { ...