2016-04-20 7 views
0

私は、JRubyプロジェクトでいくつかのJavaコードを使用してMQに接続しています。私はJavaで新しく、JRubyで次のようなJavaの記述がどのように使用できるのか分かりません。 QueueConnectionとのQueueSessionがトップJavaコードをJRubyに変換

java_import javax.jms.QueueConnection 
java_import javax.jms.QueueSession 

にインポートされているJavaクラスです

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

おかげJavaでは

答えて

1

  • 変数は、その型を宣言する必要があります。 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() 
関連する問題