将Java代码转换为JRuby

时间:2016-04-20 09:42:31

标签: java 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

由于

1 个答案:

答案 0 :(得分:1)

在Java中:

  • 变量必须声明其类型。 QueueConnection con = ...表示变量con的类型为QueueConnection。 Ruby中也存在类型,但它们并不明确,因此您只需说con = ...
  • 声明必须以分号结束。它们在Ruby中不是必需的。

此外,您显示的代码不太正确,因为session变量在声明之前在session.AUTO_ACKNOWLEDGE中使用。 AUTO_ACKNOWLEDGEQueueSession类的静态字段,因此代码应为QueueSession.AUTO_ACKNOWLEDGE。在JRuby中,可以使用::语法而不是.来访问静态字段。

因此我猜你的代码片段的等效JRuby代码是这样的:

con = factory.createQueueConnection()
session = con.createQueueSession(false, QueueSession::AUTO_ACKNOWLEDGE)
session.start()