'JBoss Spring JMS Exception : java.lang.NoClassDefFoundError: org/springframework/jms/core/MessageCreator

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].    [/testPortal]] (ServerService Thread Pool -- 81) JBWEB000287: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener: java.lang.NoClassDefFoundError: org/springframework/jms/core/MessageCreator

The Spring JMS has taken against me. I am trying to setup Spring JMS on JBoss AS 7.

Here is the below Excerpt from my JMS Controller. Can someone please guide me through this error?

import org.apache.log4j.Logger;
import org.springframework.http.MediaType;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.jms.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Controller
@RequestMapping(value ="/spring-jms")
public class SpringJmsController {

    private JmsTemplate jmsTemplate;
    private Logger logger = Logger.getLogger(SpringJmsController.class);

    public JmsTemplate getJmsTemplate() {
        return jmsTemplate;
    }

    public void setJmsTemplate(JmsTemplate jmsTemplate) {
        this.jmsTemplate = jmsTemplate;
    }

    private Queue ticketQueue;
    public Queue getTicketQueue() {
        return ticketQueue;
    }

    public void setTicketQueue(Queue ticketQueue) {
        this.ticketQueue = ticketQueue;
    }

    @RequestMapping(value = "/produce-me", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public void saveMessage( HttpServletRequest request, HttpServletResponse response) throws IOException, JMSException {
         getJmsTemplate().send(getTicketQueue(),new MessageCreator() {
             @Override
             public Message createMessage(Session session) throws JMSException {
                 return session.createTextMessage("Hello Spring JMS!!!");
             }
         });
         logger.info("Sent message to the queue ....");
         response.setStatus(HttpServletResponse.SC_ACCEPTED);
    }
}

I have added the required spring-tx.jar and the spring-jms.jar. I am sure that I am missing a jar , but not sure which one :( Please help.

UPDATE Got this resolved the spring jms jar was missing on the classpath.



Solution 1:[1]

Got this resolved the spring jms jar was missing on the classpath.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Vakz83