Witam.

Próbuję skonfigurować i oprogramować komunikację za pomocą MDB. Używam WebLogica, ustawiłem w nim JMSServer, ConnectionFactory i Queue. W ramach testów utworzyłem stronę JSF z commandButtonem podpiętym pod funkcję ziarenka o zakresie aplikacji.

@ManagedBean(name="message")
@ApplicationScoped

public class MessageClient {
    
    private String message;
    
    @Resource(mappedName="jms/ConnectionFactory")
    private static ConnectionFactory connectionFactory;

    @Resource(mappedName="jms/Queue")
    private static Queue queue; 
    
    public MessageClient() {
        this.setMessage("Test message");
    }
    public void sendMessage()
    {
        this.setMessage("New test message");
        try
        {           
            Connection conn = connectionFactory.createConnection();
            Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
            MessageProducer producer = session.createProducer(queue);
            TextMessage msg = session.createTextMessage();
            msg.setText(message);
            producer.send(msg);
        }catch(JMSException e){}; 
        message = "Done";
    } 

Chciałem odebrać tę wiadomość poprzez MDB

 @MessageDriven(mappedName = "jms/Queue")

public class MessageDrivenEJBBean implements MessageListener {
    public MessageDrivenEJBBean(){}
    
    public void onMessage(Message message) {
        TextMessage txtMsg = null;
        try{
            if(message instanceof TextMessage) {
            txtMsg= (TextMessage) message;
            String txt = txtMsg.getText();
                } 
            } catch(JMSException e) {} 
            }
}

Niestety przy próbie odpalenia buttona aplikacja wywala się krzycząc, że obiekt message nie istnieje.

action="#{message.sendMessage}": Target Unreachable, identifier 'message' resolved to null

Gdy usunę adnotację @MessageDriven(mappedName = "jms/Queue" problem znika tylko, że nie mam jak odebrać komunikatu.

Czy ktoś z Was miał podobny problem i mógłby dać jakąś wskazówkę ?

Z góry dziękuję.