我在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
由于
答案 0 :(得分:1)
在Java中:
QueueConnection con = ...
表示变量con
的类型为QueueConnection
。 Ruby中也存在类型,但它们并不明确,因此您只需说con = ...
。此外,您显示的代码不太正确,因为session
变量在声明之前在session.AUTO_ACKNOWLEDGE
中使用。 AUTO_ACKNOWLEDGE
是QueueSession
类的静态字段,因此代码应为QueueSession.AUTO_ACKNOWLEDGE
。在JRuby中,可以使用::
语法而不是.
来访问静态字段。
因此我猜你的代码片段的等效JRuby代码是这样的:
con = factory.createQueueConnection()
session = con.createQueueSession(false, QueueSession::AUTO_ACKNOWLEDGE)
session.start()