首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CloudFoundry中运行RabbitMQ的NoSuchMethodError

在CloudFoundry中运行RabbitMQ的NoSuchMethodError
EN

Stack Overflow用户
提问于 2011-11-27 08:58:28
回答 1查看 1K关注 0票数 0

我最近设置了一个SpringSource CloudFoundry微云实例,并尝试使用这里的RabbitMQ (带代码)来演示他们相当简短的消息示例:

http://support.cloudfoundry.com/entries/20322602-getting-started-with-the-rabbitmq-service-from-a-spring-application

此处提供了该应用程序的公共工作实例:

http://rabbit-simple.cloudfoundry.com

当我尝试这样做时,环境设置正确,代码构建、部署(使用vmc命令行工具)并绑定到rabbitmq服务,没有问题。以下是运行‘vmc apps’的控制台输出:

代码语言:javascript
复制
Macintosh-2:target wlaprise$ vmc push rabbit-simple
Would you like to deploy from the current directory? [Yn]: y
Application Deployed URL ["rabbit-simple.c3works.cloudfoundry.me"]: 
Detected a Java SpringSource Spring Application, is this correct? [Yn]: y
Memory Reservation ("64M", "128M", "256M", "512M", "1G") ["512M"]: 
Creating Application: OK
Would you like to bind any services to 'rabbit-simple'? [yN]: y
The following system services are available
1: mongodb
2: mysql
3: postgresql
4: rabbitmq
5: redis
Please select one you wish to provision: 4
Specify the name of the service ["rabbitmq-fad62"]: 
Creating Service: OK
Binding Service [rabbitmq-fad62]: OK
Uploading Application:
  Checking for available resources: OK
  Processing resources: OK
  Packing application: OK
  Uploading (2K): OK   
Push Status: OK
Staging Application: OK                                                         
Starting Application: OK                                                        

Macintosh-2:target wlaprise$ vmc apps

+---------------+----+---------+---------------------------------------+----------------+
| Application   | #  | Health  | URLS                                  | Services       |
+---------------+----+---------+---------------------------------------+----------------+
| rabbit-simple | 1  | RUNNING | rabbit-simple.c3works.cloudfoundry.me | rabbitmq-fad62 |
+---------------+----+---------+---------------------------------------+----------------+

当我尝试从浏览器运行应用程序时,它最初正确地显示了输入表单,但当我输入一条消息并点击‘发布’时,我得到了这个500错误的返回:

代码语言:javascript
复制
Exception--------
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.springframework.amqp.core.MessageProperties.getReplyTo()Lorg/springframework/amqp/core/Address;
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause
java.lang.NoSuchMethodError: org.springframework.amqp.core.MessageProperties.getReplyTo()Lorg/springframework/amqp/core/Address;
    org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverter.fromMessageProperties(DefaultMessagePropertiesConverter.java:120)
    org.springframework.amqp.rabbit.core.RabbitTemplate.doSend(RabbitTemplate.java:365)
    org.springframework.amqp.rabbit.core.RabbitTemplate$1.doInRabbit(RabbitTemplate.java:164)
    org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:330)
    org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:162)
    org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:179)
    org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:175)
    com.c3works.msg.HomeController.publish(HomeController.java:25)

有没有人成功地做到了这一点,并且知道我可能做错了什么(RabbitMQ问题,CloudFoundry问题,我自己的问题:0 )?

我所做的唯一一件与SpringSource的教程代码不同的事情是将HomeController中的返回字符串从: return "WEB-INF/views/home.jsp";更改为“viewResolver”,以与spring-context.xml文件中设置spring的方式一致(这是正确显示输入表单所必需的)。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-28 09:31:52

我在没有使用STS编辑器的情况下从头开始重新构建它,它可以正常工作。我真的不能解释为什么从STS IDE中的Maven项目构建它会导致我遇到的问题,但是使用文本编辑器和vmc命令行指令干净地构建所有内容是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8282866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档