JMS Mensagem Assíncrona com action struts

4 respostas
D

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

4 Respostas

A

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=

D

Obrigado alissonvla

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

A

isso…:smiley:

D

vlw :smiley: vou tentar aqui !

Criado 29 de setembro de 2011
Ultima resposta 29 de set. de 2011
Respostas 4
Participantes 2