TP JMS

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

TP JMS

1. Créer un projet intitulé « JMS_TD »


2. Créer un paquage nommé « Producer »
3. Ajouter la classe ci-dessous dans le paquage

import java.util.Properties;

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 javax.naming.Context;
import javax.naming.InitialContext;
public class TestOpenJMS1 {

public static void main(final String[] args) {


Context context = null;
ConnectionFactory factory = null;
Connection connection = null;
Destination destination = null;
Session session = null;
MessageProducer sender = null;
try {
Properties props = new Properties();

props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveM
QInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"tcp://localhost:61616");
context = new InitialContext(props);
factory = (ConnectionFactory) context.lookup("ConnectionFactory");
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("queue1");
sender = session.createProducer(destination);
connection.start();

final TextMessage message = session.createTextMessage();


message.setText("Belhassen");
sender.send(message);
System.out.println("Message envoye= " + message.getText());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (context != null) {
try {
context.close();
} catch (Exception e) {
e.printStackTrace();
}
}

if (connection != null) {
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
4. Créer un paquage nommé « Consommer »
5. Ajouter la classe ci-dessous dans le paquage

import java.util.Properties;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class TestOpenJMS2 {

public static void main(String[] args) {


ConnectionFactory factory = null;
Connection connection = null;
Destination destination = null;
Session session = null;
MessageConsumer receiver = null;
InitialContext context = null;

try {
Properties props = new Properties();

props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.Acti
veMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"tcp://localhost:61616");
context = new InitialContext(props);
factory = (ConnectionFactory) context.lookup("ConnectionFactory");

connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("queue1");
receiver = session.createConsumer(destination);
connection.start();

Message message = receiver.receive();


if (message instanceof TextMessage) {
TextMessage text = (TextMessage) message;
System.out.println("message recu= " + text.getText());
} else if (message != null) {
System.out.println("Aucun message dans la file");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (context != null) {
try {
context.close();
} catch (NamingException e) {
e.printStackTrace();
}
}

if (connection != null) {
try {
connection.close();
} catch (JMSException e) {
e.printStackTrace();
}
6. Importer le jar activemq-all-5.16.4.jar
7. Compiler les classes ajoutées
8. Télécharger le broker ActiveMq (apache-activemq-5.16.4-bin.zip)
9. Extraire le zip apache-activemq-5.16.4-bin.zip
10. Lancer la commande activemq start(sous le dossier bin du broker)
11. Lancer la classe TestOpenJMS1
12. Lancer la classe TestOpenJMS2

You might also like