将 Java 代码转换为 JRuby
Converting Java code to JRuby
我在 JRuby 项目中使用一些 Java 代码来连接到 MQ。我是 Java 的新手,不知道如何在 JRuby 中使用 Java 的以下语句。
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
class 的静态字段,因此代码应为 QueueSession.AUTO_ACKNOWLEDGE
。在 JRuby 中,可以使用 ::
语法而不是 .
.
来访问静态字段
因此我猜你的代码段的等效 JRuby 代码是这样的:
con = factory.createQueueConnection()
session = con.createQueueSession(false, QueueSession::AUTO_ACKNOWLEDGE)
session.start()
我在 JRuby 项目中使用一些 Java 代码来连接到 MQ。我是 Java 的新手,不知道如何在 JRuby 中使用 Java 的以下语句。
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
class 的静态字段,因此代码应为 QueueSession.AUTO_ACKNOWLEDGE
。在 JRuby 中,可以使用 ::
语法而不是 .
.
因此我猜你的代码段的等效 JRuby 代码是这样的:
con = factory.createQueueConnection()
session = con.createQueueSession(false, QueueSession::AUTO_ACKNOWLEDGE)
session.start()