Bonjour à tous,
Je suis sur un petit client Java qui envoie des messages sur une file JMS d'un serveur JBoss 5 (donc JMS 1.1, JBoss Messaging 1.4).
La méthode décrite dans ce cas, c'est d'inclure au classpath une quarantaine de jar client, comme ça on est tranquilles. Vu que ça me plait que moyennement, je veux faire le ménage parmi les jars utilisés, et je me pète des NoClassDefFound depuis 3 jours à force d'essais.
Le code tout simple :
Code :
public class MyJmsClient { private ConnectionFactory factory; private Queue queue; try { this.factory = (ConnectionFactory) context.lookup(properties.getProperty("jms.out.factory" )); this.queue = (Queue) context.lookup(properties.getProperty("jms.out.queue" )); try { this.connection = this.factory.createConnection(); } catch (final JMSException e) { MY_LOGGER.fatal("Error while trying to create JMS connection.", e); } MY_LOGGER.fatal("Naming error for JMS client.", e); } } public void sendMessageToService(final MyObject object) { Session session = null; try { session = this.connection.createSession(false, Session.AUTO_ACKNOWLEDGE); final MessageProducer sender = session.createProducer(this.queue); final MapMessage messageToSend = session.createMapMessage(); // Je construis mon message sender.send(messageToSend); } catch (final JMSException e) { MY_LOGGER.error("Error while sendind message " + message + " to JMS queue.", e); } finally { try { session.close(); MY_LOGGER.error("No session to close on JMS connection.", e); } catch (final JMSException e) { MY_LOGGER.error("Error while trying to close JMS session.", e); } } }
|
Une idée de la façon dont je pourrais procéder ? C'est l'usage de trainer 6Mo de Jar pour ça
En sus, même en procédant de cette manière, j'ai quand même des dépendances manquantes. Je peux trouver les jars concernés, c'est pas le problème, mais y'a rien d'écrit ou d'automatisé pour savoir quoi inclure à quel moment pour le messaging ?
Merci d'avance