java - 将 Java 代码转换为 JRuby

标签 java jruby

我正在 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_ACKNOWLEDGEQueueSession 类的静态字段,因此代码应为 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/

相关文章:

java - XPage:递归创建 JSON 字符串

jruby - 如何在 Windows XP 上以 1.9 模式运行带有 JRuby 的 Rails3?

javascript - 从 javascript 调用 ruby

jruby - HBase Shell扫描字节到字符串的转换

ssl - 将 glassfish gem(或其他网络服务器)与 SSL 结合使用

java - Junit 测试断言错误预期为 3,但结果为 0

java - 多线程时出现 OutOfMemory 异常...堆空间?

java - 无法解析构造函数 'arrayadapter(android.widget.adapterview.onitemselectedlistener, int, java.util.arraylist)'

java - Intellij 理念 : One line if on two lines