当我的MQ服务器不可用时,对QueueConnectionFactory.createQueueConnection()的调用将挂起,并最终(1-2分钟后)引发“ javax.transaction.TransactionRolledbackException:事务因超时而结束”。
我找不到JavaEE调用来设置该功能的超时时间。
当无法访问MQ服务器时,是否有办法使此功能更快失败或在WebSphere上引发异常?
通过依赖项注入访问QCF。
@Resource(name = "jndi-name-for-QCF")
private QueueConnectionFactory queueConnectionFactory;
…
// this line is timing out.
QueueConnection connection = queueConnectionFactory.createQueueConnection();
最佳答案
我认为通常这将通过config进行管理,而不是在您的应用代码中以编程方式进行处理。例如。有关某些示例,请参见this article。
不确定配置WebSphere连接池设置也可以做很多事情。这似乎指向配置MQ提供程序本身(例如通道)。