问题标签 [spring-jms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8225 浏览

spring - 使用 Spring JMS 和 ActiveMQ 的正确 Maven 依赖项是什么?

这是一个很常见的问题,我在网上找到了很多不适合我的解决方案。我声明:

和码头插件

但是在发出“mvn jetty:run”时,我不断收到以下异常:

org.springframework.beans.FatalBeanException:找不到命名空间 [http://activemq.apache.org/schema/core] 的 NamespaceHandler 类 [org.apache.xbean.spring.context.v2.XBeanNamespaceHandler];嵌套异常是 java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

运行 Jetty、ActiveMQ 和 Spring JMS 的正确 maven 依赖项是什么?

0 投票
1 回答
5963 浏览

java - DefaultMessageListenerContainer 不缩放

我有一个 DefaultMessageListenerContainer,它(在我看来)没有扩大。Container 被定义为侦听一个队列,其中有 100 条消息。

我希望 Container 可以达到任何长度,消息将尽可能快地被消耗(通过观察 maxConcurrentConsumers 配置)。所以我假设有 7 个并发消费者。(从容器启动时的 2 个并发消费者开始)一些日志信息:

我的 Spring-config(它的一部分):

我的日志容器

我的听众班:

有人可以纠正我的配置或给我一些关于我的配置的提示或向我解释容器的方法吗?(如果我误解了什么)

我正在使用 ActiveMQ 进行本地测试(使用 WebSphere MQ 进行生产)——如果它与可伸缩性主题相关。

编辑:

0 投票
1 回答
10761 浏览

spring - 队列消费者的Spring JMS配置

我正在尝试运行一个非常基本的应用程序来学习 Spring JMS + ActiveMQ。我看到我的 Producer 创建了消息 (sysout),但我的 Consumer 中没有显示任何内容,也没有引发异常。我想我在这里遗漏了一些简单的东西;非常感谢任何帮助。

[已编辑,以下代码有效]

制片人:

消费者:

生产者配置:

消费者配置:

测试用例:

我在 Java EE 容器 (mvn jetty:run) 中运行生产者,Spring MVC 应用程序也在该容器中运行。

0 投票
1 回答
3004 浏览

ibm-mq - Spring JMS 重新注册持久订阅

我正在开发一个使用 Spring JMS (v3.1.0) 来使用来自主题 (IBM WebSphere MQ v7) 的一些消息的应用程序,并且对 MQ 的监控表明,在每次调用侦听器时,我们都会刷新/重新注册持久订阅。这会导致 MQ 出现意外过载。值得一提的是,该应用程序正在 IBM WepSphere v7 上运行。

这是我们的配置:

编辑:这些是我们正在使用的属性:

任何想法如何解决这个问题?谢谢!安德烈

0 投票
1 回答
1434 浏览

jms - weblogic JMS 队列消息未在异常时回滚

我们在weblogic10.3.4和JMS队列上设置了,下面是消息监听代码,它使用了Spring JMS,MessageProducer设置为ClientAcknowledgeMode。当发生异常时,消息仍然被移出队列并回滚,下面的代码有什么问题吗?

下面是Spring配置

0 投票
1 回答
8646 浏览

glassfish - glassfish 上的 spring defaultmessagelistener 容器在异常后重新传递的正确设置是什么?

我正在尝试设置 spring 的 DefaultMessageListenerContainer 类以在引发异常或调用 session.rollback() 后重新传递消息。我也试图让它在 glassfish 3.1.2 网络配置文件上运行。

在我的 SessionAwareMessageListener 的 onMessage() 方法中调用 session.rollback() 时,我收到一条异常消息:MessageDispatcher - [C4024]:会话未处理。 我没有看到 ActiveMQ 的这个问题,但是该配置当然是不同的,因为我没有在应用程序服务器中使用它。

这里有没有人得到这个工作?我的配置如下:

0 投票
0 回答
2943 浏览

spring - 使用 Spring JmsTemplate 发送 JMS 消息

我有一台服务器需要将消息发送到单独的应用程序。我正在使用 Spring JmsTemplate,但是,我在启动和运行配置时遇到了一些问题。

现在,我收到以下异常:

(如果你愿意,我可以发布完整的堆栈跟踪,但这只是那些嵌套异常的长版本。)

“接收超时”部分听起来像是在尝试接收消息,我不想这样做。这里的所有内容都是从几个不同的示例和 SO 帖子中汇总而来的,我很难理解所有不同的部分以及它们在做什么。除了可能导致错误的任何原因之外,如果我没有收到消息,还有什么我不需要的吗?

在我的 JmsQueueSender 类(发送消息)中:

在我的应用程序上下文中:

0 投票
1 回答
1625 浏览

jms - Web 控制台异常:在 1 个配置的 url 中的任何一个都找不到代理

我正在尝试在 tomee+ 1.5.0 中启动 Web 控制台,如下所示:http://activemq.apache.org/web-console.html 使用 Tomcat 的示例配置)

我在启动服务器时使用以下参数:

-Dcatalina.base="D:\Kit\apache-tomee-plus-1.5.0" -Dcatalina.home="D:\Kit\apache-tomee-plus-1.5.0" -Dwtp.deploy="D: \Kit\apache-tomee-plus-1.5.0\wtpwebapps" -Djava.endorsed.dirs="D:\Kit\apache-tomee-plus-1.5.0\endorsed" -Dwebconsole.type=properties -Dwebconsole.jms .url=tcp://localhost:61616 -Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi -Dwebconsole.jmx.user=tomee -Dwebconsole.jmx。密码=tomee -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1099

我可以与 jconsole 连接,service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi但在 MBeans 中看不到“org.apache.activemq”。当我尝试访问网络控制台时

http://localhost:8080/activemq-web-console-5.7.0/

我不断收到以下异常:

这是 web 控制台战争的 activemq.xml 文件中的代理:

有人可以给我一个关于这个问题的提示吗?

0 投票
2 回答
3999 浏览

java - DefaultMessageListenerContainer,让 sessionTransacted-property 工作?

进展如何,让 DefaultMessageListenerContainer 控制事务...据我所知,我只需向 DMLC 提供 sessionTransacted-property。我的目标是将消息放回队列,如果发生一些错误......

已经找了好久,但没有找到任何东西......

我的 Spring-config(它的一部分):

我的听众班:

是否只是通过抛出未经检查的异常(如 java.lang.IllegalStateException)?

0 投票
1 回答
1646 浏览

java - 使用相同 onMessage 的多个 MessageListener 的线程安全?

如何确保两个 Listener 容器:

接收来自不同主题的消息。线程安全吗?

如您所见,它们使用相同的消息侦听器,该消息侦听器也依赖于其他一些 Spring bean。所有消息都将由同一个类中的同一个 onMessage 方法接收。

有人可以建议我解决此类问题的最佳做法。来自两个主题的消息需要以相同的方式处理,所以我只需要一个 MessageListener。

谢谢