Message Driven Bean jndi.properties
Salutations,
Je crée un MDB qui est sensé envoyer des message pour un topic.
Sauf que quand j'initialise les propriétés j'ai comme erreur fileNotExist pour le fichier jndi.properties que je charge de cette manière:
props.load(new FileInputStream("jndi.properties"))
Code:
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");
}
} |