Follwing code will show how to Connect with Java JMS
This is using TIBCO EMS
Before this Install TIBCO EMS
ADD Dependencys(tibjms.jar, jms2.0.jar)
1) Sample (1) to SEND a message to TIBCO EMS
import java.util.Vector;
import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import com.tibco.tibjms.TibjmsQueueConnectionFactory;
public class TibcoEMSQueueSender {
public static void main(String args[]) {
String serverUrl = "tcp://localhost:7222";
String userName = "admin";
String password = "admin";
String queueName = "myQueue";
try {
Vector
data.add("Hello World!"+System.currentTimeMillis());
System.out.println("Sending JMS message to server " + serverUrl + "...");
QueueConnectionFactory factory = new TibjmsQueueConnectionFactory(serverUrl);
QueueConnection connection = factory.createQueueConnection(userName, password);
QueueSession session = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
// Use createQueue() to enable sending into dynamic queues.
Queue senderQueue = session.createQueue(queueName);
QueueSender sender = session.createSender(senderQueue);
/* publish messages */
for (int i = 0; i < data.size(); i++) {
TextMessage jmsMessage = session.createTextMessage();
String text = (String) data.elementAt(i);
jmsMessage.setText(text);
sender.send(jmsMessage);
System.out.println("Sent message: " + text);
}
connection.close();
} catch (JMSException e) {
e.printStackTrace();
System.exit(0);
}
}
}
2) Sample (2) to SEND a message to TIBCO EMS
import com.tibco.tibjms.TibjmsConnectionFactory;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
public class SenderSwingTIBCO {
public static void main(String[] args) {
try {
TibjmsConnectionFactory tibjmsConnectionFactory = new TibjmsConnectionFactory("tcp://localhost:7222");
Connection connection = tibjmsConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
Destination destination = session.createQueue("myQueue");
MessageProducer messageProducer = session.createProducer(destination);
messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT);
StringBuffer strContent = new StringBuffer();
strContent.append("eluwa");
TextMessage textMessage = session.createTextMessage(strContent.toString());
messageProducer.send(textMessage);
session.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3) Sample (1) to RECEIVE a message to TIBCO EMS
import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import com.tibco.tibjms.TibjmsQueueConnectionFactory;
public class TibcoEMSQueueReceiver {
public static void main(String args[]) {
String serverUrl = "tcp://localhost:7222";
String userName = "admin";
String password = "admin";
String queueName = "myQueue";
try {
System.out.println("Start listening for incoming JMS message on " + serverUrl + "...");
QueueConnectionFactory factory = new TibjmsQueueConnectionFactory(serverUrl);
QueueConnection connection = factory.createQueueConnection(userName, password);
QueueSession session = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
// Use createQueue() to enable receiving from dynamic queues.
Queue receiverQueue = session.createQueue(queueName);
QueueReceiver receiver = session.createReceiver(receiverQueue);
connection.start();
/* read queue messages */
while (true) {
TextMessage message = (TextMessage) receiver.receive();
if (message == null)
break;
System.out.println("Received message: " + message.getText());
}
connection.close();
} catch (JMSException e) {
e.printStackTrace();
System.exit(0);
}
}
}
4) Sample (2) for RECEIVE a message to TIBCO EMS
import com.tibco.tibjms.TibjmsConnectionFactory;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
public class RecieverSwingTIBCO {
public static void main(String[] args) {
try {
TibjmsConnectionFactory tibjmsConnectionFactory = new TibjmsConnectionFactory("tcp://localhost:7222");
Connection connection = tibjmsConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
Destination destination = session.createQueue("myQueue");
MessageConsumer messageConsumer=session.createConsumer(destination);
Message message=messageConsumer.receive();
message.acknowledge();
TextMessage textMessage=(TextMessage)message;
System.out.println(textMessage.getText());
session.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Try to send and recieve messages from running above classes.