问题标签 [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 投票
0 回答
12331 浏览

jms - Spring 批处理 JMS 编写器/读取器示例

任何人都知道一个很好的资源来详细(比 Spring Batch 文档)查看 Spring Batch 中 JMS Item Writer/Reader 的使用?

具体来说,因为我的任务是尝试重用一个现有系统,其唯一接口是在队列上异步的,所以我想知道以下是否可能:

第 1 步:读取一些数据并构建消息。
第 2 步:使用 JMSItemWriter 将消息放到队列中。
第 3 步:使用响应队列上的 JMSItemReader 等待消息返回。
第 4 步:做一些其他的事情
……冲洗并重复,每天几千次。

或者换句话说,本质上是使用 Spring Batch 来强制与异步资源进行同步交互。在我进一步研究之前,我想确保这是 A) 可能的,并且 B) 不会无耻地滥用框架,这会导致未来的严重头痛。

在此先感谢您的任何信息。

0 投票
1 回答
3286 浏览

spring - ThreadPoolTask​​Executor 和 JMS 中只使用了一个线程

我在 JBoss 5.1 下有一个 JMS 消息侦听器,由 Spring 配置。虽然 ThreadPoolTask​​Executor 配置为核心池大小为 15,但我看到只有一个线程在处理请求,其他线程在等待。根据ThreadPoolExecutor API,我需要有一个有界队列,但我不知道 spring 是如何允许我这样做的。

这是配置:

这是 14 个等待线程的堆栈跟踪:

请注意,这可能类似于Spring ThreadPoolTask​​Executor 仅运行一个线程,但在我的情况下,核心池大小大于 1。

0 投票
1 回答
2126 浏览

java - 为什么Spring有类JdbcDaoSupport,却没有类似的类JmsSupport?

为什么Spring 框架JdbcDaoSupport需要 aDataSource并在JdbcTemplate内部创建 a 的类,但没有JmsSupport可能需要JMS ConnectionFactory并创建 a 的类似类JmsTemplate

据我了解,类的目的JdbcDaoSupport是消除应用程序上下文中JdbcTemplate(每个实例一个)的冗余实例。DataSource相反,容器创建应用程序 DAO 的实例,每个实例都派生自JdbcDaoSupport,接受一个唯一的DataSource并将其提供DataSourceJdbcDaoSupport父实例,而父实例又将其提供给其内部的JmsTemplate.

为什么 Spring 不提供一个类似的类JmsSupport来减少JmsTemplate应用程序上下文中的实例数量?

0 投票
4 回答
23255 浏览

activemq - 如何在队列上设置 ActiveMQ redeliveryPolicy?

如何在队列上的 ActiveMQ 中设置 redeliveryPolicy?

1)在文档中,请参阅:activeMQ Redelivery,说明您应该在 ConnectionFactory 或 Connection 上设置它。但我想为不同的队列使用不同的值。

2)除此之外,我似乎没有得到它的工作。像这样在 Spring 的连接工厂中设置它(我正在使用 activemq 5.4.2. 和 Spring 3.0)似乎没有任何效果:

我还尝试将其设置为已定义队列上的属性,但这似乎也被忽略了,因为重新传递发生得比定义的值更早:

谢谢

0 投票
2 回答
1952 浏览

spring - JmsTransactionManager 具有更多的 connectionFactories

我想知道是否有人可以帮助我解决一个大问题,我正在尝试使用 Spring 2.5.6 实现更多 jmsTransactionManagers,但它不起作用。

我有 5 个连接工厂,因为我必须从 5 个不同的环境中读写。它们都在我的队列 xml bean 中,但是因为当我从一个队列中读取消息并且它们不适合选项时,我会使用事务管理器进行回滚。

所以我的问题是,如何配置更多的 JmsTransactionManagers。

0 投票
2 回答
30998 浏览

java - 如何线程池化 Spring JMS 监听器

我正在按如下方式设置一个 JMS 订阅者侦听器,目的是实现一个由 5 个线程组成的池来侦听 topATopic,但是,我在运行时看到的是多个消费者处理同一条记录(recordCount*#of 消费者)。

考虑到我是春天的新手,我假设我做错了什么。

有人可以指出我实现目标的方向吗?

0 投票
1 回答
4340 浏览

java - 帮助 Spring 和 JMS。我正在尝试使用 spring 设置一个简单的发布者?

所以我有以下出版商:

所以我现在坚持设置 bean 声明。我知道我需要一个 JMSTemplate:

但我不知道如何设置连接工厂或目的地。spring 文档中甚至没有示例。

0 投票
1 回答
14247 浏览

java - 使用 TransactionManager 使用 Spring JmsTemplate 编写消息

使用 Spring-JMS,可以通过DefaultMessageListenerContainer在外部事务上下文中接收消息。

但是,编写消息的唯一记录方式是 via JmsTemplate.send(…),我看不出如何强制它使用给定的TransactionManager.

谁能指出我正确的方向?


更多信息:确保事务管理器可用 ( WebSphereUowTransactionManager),JmsTemplate.write针对 Oracle使用AQjmsFactory.getQueueConnectionFactory(dataSource)会导致:

因此,虽然我没有理由怀疑下面的建议,但我无法对其进行测试,因为我无法弄清楚如何让 AQ JMS 不尝试提交。当我了解更多信息时会更新。

0 投票
1 回答
2456 浏览

java - 是否可以在独立的 Java 应用程序上实现 JMS、Spring 和 Tibco EMS?

所以这是我的问题!

我有一个带有身份验证的 Tibco EMS 主题

我有一个独立的应用程序,我想发布和使用来自该应用程序的消息

我想通过 Springs JMSTemplate、Listener 等来做到这一点。

前听众:

}

示例发布者:

公共类 ExampleProducer {

私人 JmsTemplate jmsTemplate;

}

jms.jndi.initialContextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory jms.jndi.urlPkgs=com.tibco.tibjms.naming

jms.jndi.providerUrl=tibjmsnaming:/ * ***.net: ***

这可能吗?

谢谢

0 投票
1 回答
1768 浏览

java - Spring JmsTemplate 和 WebSphere MQ - 忽略 RECEIVE_TIMEOUT_NO_WAIT

我正在使用 Spring JmsTemplate 和 WebSphere MQ(在 WebSphere App Server 内部)。

我创建 JmsTemplate 实例如下:

请注意,我将超时设置为 no_wait (-1)。但是,线程仍然阻塞。

我错过了什么?