1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| public class MailConsomateur implements MessageListener {
public static void main(String[] args) throws Exception{
new MailConsomateur();
}
public MailConsomateur() throws Exception {
Properties prop = new Properties();
prop.load(new FileInputStream("jndi.properties"));
prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
InitialContext ctx = new InitialContext(prop);
// 1: recherche d'une connection factory
ConnectionFactory factory = (ConnectionFactory)ctx.lookup("ConnectionFactory");
// 2: Creation d'une connection JMS
Connection conn = factory.createConnection();
// 3: Creation d'une session
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 4: Recherche d'une destination
Topic topic = (Topic)ctx.lookup("topic/MailMdb");
// 5: Creation d'un consomateur de message
MessageConsumer consomateur = session.createConsumer(topic);
consomateur.setMessageListener(this);
System.out.println("Client JMS à l'écoute du message ");
conn.start();
}
@Override
public void onMessage(Message msg) {
// TODO Auto-generated method stub
if (msg instanceof TextMessage) {
TextMessage tm = (TextMessage)msg;
try {
String mail = tm.getText();
System.out.println("Le Client vient de reçevoir le mail suivant : "+mail);
}catch(JMSException e){
e.printStackTrace();
}
}
}
@PreDestroy
public void remove() {
System.out.println("Suppression du client du Mailing");
}
} |
Partager