【问题标题】:JBoss Spring JMS Exception : java.lang.NoClassDefFoundError: org/springframework/jms/core/MessageCreatorJBoss Spring JMS 异常:java.lang.NoClassDefFoundError:org/springframework/jms/core/MessageCreator
【发布时间】:2015-09-21 18:36:46
【问题描述】:
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

Spring JMS 对我不利。我正在尝试在 JBoss AS 7 上设置 Spring JMS。

以下是我的 JMS 控制器的摘录。有人可以指导我解决这个错误吗?

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);
    }
}

我已经添加了所需的 spring-tx.jar 和 spring-jms.jar。我确定我错过了一个罐子,但不确定是哪一个:(请帮忙。

更新解决了类路径中缺少 spring jms jar 的问题。

【问题讨论】:

  • JBOSS 不同意你的观点。它找不到它需要的所有依赖项。
  • 你是如何创建和部署战争的?您确定包含依赖项吗?
  • 如果您解决了您的问题,请将解决方案填写为答案,而不是像编辑一样,以便其他人可以学习,并且它不会挂在“未回答”部分。

标签: spring jboss7.x spring-jms


【解决方案1】:

解决了类路径中缺少 spring jms jar 的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2013-02-18
    相关资源
    最近更新 更多