java - QueueConnectionFactory.createQueueConnection() 不返回或抛出异常

标签 java jakarta-ee jms websphere mq

当我的 MQ 服务器不可用时,对 QueueConnectionFactory.createQueueConnection() 的调用将挂起,并最终(1-2 分钟后)抛出“javax.transaction.TransactionRolledbackException:事务因超时而结束”。

我找不到用于设置函数超时的 JavaEE 调用。

当无法访问 MQ 服务器时,有没有办法让此函数更快地失败或在 WebSphere 上抛出异常?

QCF 通过依赖注入(inject)来访问。

@Resource(name = "jndi-name-for-QCF")
private QueueConnectionFactory queueConnectionFactory;

   …

// this line is timing out.
QueueConnection connection = queueConnectionFactory.createQueueConnection();

最佳答案

我认为通常这将通过配置进行管理处理,而不是在应用程序代码中以编程方式处理。例如。请参阅this article举一些例子。

也不确定配置 WebSphere 连接池设置是否可以做很多事情。这似乎指向配置 MQ 提供程序本身(例如 channel )。

关于java - QueueConnectionFactory.createQueueConnection() 不返回或抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233660/

相关文章:

java - JMS:我们可以在 OnMessage() 中从队列中获取多条消息而不提交或回滚吗

java - 如何从 JMS 队列读取 ArrayList<T> 对象?

java - Grails save() 尝试在应该更新时创建新对象

java - Swing - 使用 TextComponents 的 GUI 中的关键问题(箭头键、Tab 等)

java - 尝试从字符串中提取某些数字

java - 验证 c3p0 使用 JPA 运行

java - ActiveMQ/HornetQ p2p 是基于轮询或基于推送的模型

java - 使用 @TestPropertySource 属性中的属性会导致 NullPointerException

spring - 如何解决 Jsf :Property 'not found" on type with root cause?

java - 我可以使用 Maven 将 BootStrap 和 JQuery 插入 Java Web 应用程序吗?