Comment vais-je envoyer des messages à Activemq

Je n'ai jamais travailler sur JMS. Récemment, j'ai téléchargé Activemq et changé de port à partir de 61616 à 61617 dans tous les conf/activemq-*.xml fichiers.Je exécutez la commande suivante à partir de l'invite de commande et ouvrir la page de la console du navigateur.

  C:\Users\Infratab Bangalore\Desktop\Queueing\apache-activemq-5.8.0\bin>activemq

Comment vais-je envoyer des messages à Activemq

Maintenant, je veux envoyer des messages à partir du code java à l'aide de JMS à Activemq.Pour ce que j'ai écrit le code suivant. Et exécuter mon code en utilisant un serveur Apache Tomcat.il ne fonctionne pas

Ce code est mis en œuvre dans Eclipse.

package PackageName;

import java.io.IOException;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.activemq.ActiveMQConnectionFactory;

public class MessageProducer extends HttpServlet {
    @Override
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
        try {
            //created ConnectionFactory object for creating connection 
            ConnectionFactory factory = new ActiveMQConnectionFactory("admin", "admin", "tcp://localhost:61617");
            //Establish the connection
            Connection connection = factory.createConnection();
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            Queue queue = session.createQueue("Test");
            //Added as a producer
            javax.jms.MessageProducer producer = session.createProducer(queue);
            //Create and send the message
            TextMessage msg = session.createTextMessage();
            msg.setText("TestMessage");
            producer.send(msg);
        } catch (Exception e) {
            //TODO: handle exception
        }
    }
}

J'obtiens l'erreur suivante

 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
org.apache.activemq.ActiveMQPrefetchPolicy.<clinit>(ActiveMQPrefetchPolicy.java:30)
org.apache.activemq.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:88)
PackageName.MessageProducer.service(MessageProducer.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

pouvez-vous me suggérer, où j'ai écrit mal.

Grâce.

Le ActiveMQ est probablement à l'aide de commons-logging.jar mais il semble qu'il n'est pas trouvé dans votre classpath. Vérifier ça
J'ai ajouté trois .les fichiers jar dans mon dossier lib noms sont activemq-all-5.0.0.jar, commons-io-2.4.jar, geronimo-spec-corba-1.0.jar.J'ai ajouté le chemin d'accès suivant dans le classPath. C:\Users\Infratab Bangalore\Desktop\Queueing\geronimo-spec-corba-1.0.jar;.Ainsi suis-je besoin d'ajouter commons-logging.jar dans mon classpath.Si je dois ajouter encore, je tiens à le télécharger.est-il juste
Oui, on dirait que vous n'êtes pas à l'aide de maven, alors vous devez télécharger le commons-logging.jar et d'ajouter à votre classhpath, exactement comme vous l'avez fait avec le activemq-all-5.0.0.jar
J'ai ajouté activemq-all-5.0.0.jar dans mon dossier lib pas dans le classpath.pouvez-vous voir le commentaire que j'ai mis sur @Ashish réponse.
je pense que vous devriez lire que pour comprendre ce que je dis: stackoverflow.com/questions/325524/...

OriginalL'auteur Hanumath | 2013-08-08