JMS Mensagem Assíncrona com action struts

Olá amigos do GUJ

Por favor, alguém teria um exemplo de algum envio de mensagens assíncronas, jsm ou algo parecido para solucionar um problema em envio de e-mail ?

Atualmente o usuário fica “preso” até que o método ()sendMail envie o e-mail via action struts

Obrigado

segue um exemplo de JMS

@MessageDriven(name="NAMEQueue", activationConfig= {  
		@ActivationConfigProperty(propertyName="destination",propertyValue="queue/NAMEQueue"),  
		@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue")}) 
public class FacadeBiometria implements MessageListener {

    /**
     * Default constructor. 
     */
    public FacadeBiometria() {
    }
	
	/**
     * @see MessageListener#onMessage(Message)
     */
    public void onMessage(Message message) {
    	try {
			TextMessage textMessage = (TextMessage)message;
		} catch (JMSException e) {			
			e.printStackTrace();
		}
    }
}

enviar para fila JMS

        @Resource(mappedName="ConnectionFactory")  
	private ConnectionFactory connectionFactory;  
	  
	@Resource(name="queue/NAMEMensagemQueue", mappedName="queue/NAMEQueue")  
	private Destination destination; 

public void enviarMensagemFila(String opcao) {		
		Connection connection = null;
		Session session = null;
		
		try {
			connection = connectionFactory.createConnection();
			session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
			MessageProducer messageProducer = session.createProducer(destination);
			messageProducer.send(session.createTextMessage(opcao));
		} catch (JMSException e) {
			e.printStackTrace();
		} finally {
			try {
				if(session != null){
					session.close();
				}
				if(connection != null){
					connection.close();
				}
			} catch (JMSException e) {
				e.printStackTrace();
			}
		}
	}

espero que te ajude.

t=

Obrigado alissonvla

Uma dúvida noob apenas: a implementação ou a chamada do meu método sendMail() ficaria no método onMessage() ?

isso…:smiley:

vlw :smiley: vou tentar aqui !