我正在 JRuby 项目中使用一些 Java 代码来连接到 MQ。我是Java新手,不知道以下Java语句如何在JRuby中使用。
QueueConnection con = factory.createQueueConnection();
QueueSession session = con.createQueueSession(false, session.AUTO_ACKNOWLEDGE);
session.start();
其中 QueueConnection 和 QueueSession 是在顶部导入的 Java 类
java_import javax.jms.QueueConnection
java_import javax.jms.QueueSession
谢谢
最佳答案
在 Java 中:
- 变量必须声明其类型。
QueueConnection con = ...
表示变量con
的类型为QueueConnection
。 Ruby 中也存在类型,但它们并不显式,因此您只需说con = ...
。 - 语句必须以分号结束。 Ruby 中不需要它们。
此外,您显示的代码不太正确,因为 session
变量在声明之前已在 session.AUTO_ACKNOWLEDGE
中使用。 AUTO_ACKNOWLEDGE
是 QueueSession
类的静态字段,因此代码应为 QueueSession.AUTO_ACKNOWLEDGE
。在 JRuby 中,可以使用 ::
语法而不是 .
.
因此,我猜测您的代码片段的等效 JRuby 代码如下所示:
con = factory.createQueueConnection()
session = con.createQueueSession(false, QueueSession::AUTO_ACKNOWLEDGE)
session.start()
关于java - 将 Java 代码转换为 JRuby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739822/