2016-04-20 2 views
0

Я использую код Java в проекте JRuby для подключения к MQ. Я новичок в Java и не знаю, как в JRuby могут использоваться следующие операторы 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 

Благодарности

ответ

1

В 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() 

 Смежные вопросы

  • Нет связанных вопросов^_^