Holas!!!!!!!!!!!!!! Pues eso, ahora un quick code pare enviar mensaje a Colas, version para WebsphereMQ y ActiveMQ.
El marrón de WebsphereMQ es que hay que tener sus librerías que si lo tienes instalado las puedes pillar de donde lo hayas instalado o si no buscar arduamente en la red que estarán colgadas seguramente por algún lugar.
package com.myutils.services;
import javax.jms.Connection;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.log4j.Logger;
import com.ibm.mq.jms.MQConnectionFactory;
import com.ibm.mq.jms.MQQueue;
import com.ibm.msg.client.wmq.WMQConstants;
public class WebsphereMQService {
private static Logger log4j = Logger.getLogger(WebsphereMQService.class);
public void enviarMessage(String txtMsg){
try{
MQConnectionFactory mq = new MQConnectionFactory();
mq.setTransportType(1);//Se envia como cliente
mq.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
mq.setHostName("SERVIDOR_MQ");//Proporcionado por server
mq.setPort(1616);//Esto puede cambiar, proporcionado por server
mq.setChannel("NOMBRE.CANAL");//Proporcionado por server
mq.setQueueManager("QUEUE.MNG");//Proporcionado por server
Connection c = mq.createConnection("usuario", "password");
MQQueue q = new MQQueue("NOMBRE.QUEUE");//Nombre cola, proporcionado por server
Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = s.createProducer(q);
TextMessage message = s.createTextMessage(txtMsg.trim());
producer.send(message);
c.close();
}catch(Exception e){
log4j.error("Exception:", e);
}
}
}
//Proporcionado por server: son datos que nos deben de dar para conexión.
Y ahora para Active MQ.
package com.myutils.services;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.log4j.Logger;
public class ActiveMQService {
private static Logger log4j = Logger.getLogger(ActiveMQService.class);
/**
* Envia mensaje
* @param xml
* @throws BusinessException
*/
public void enviarMensaje(StringBuilder xml, String qName){
try{
ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616");//Servidor
Connection conn = cf.createConnection();
conn.start();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(qName);//Nombre de cola
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage(xml.toString());//Mensaje a enviar
producer.send(message);
conn.close();
}catch(Exception e){
log4j.error("Exception.", e);
}
}
}
Esto debería de funcionar y si no ......
No hay comentarios:
Publicar un comentario