Как я могу использовать java.util.properties в jruby? - PullRequest
0 голосов
/ 06 марта 2019

Я работаю с классом, представленным на этом сайте: https://www.oracle.com/technetwork/articles/dsl/jruby-oracle11g-330825.html

Я настраиваю SSL, и мне нужно передать список java.util.properties в диспетчер драйверов.

Полагаю, я делаю что-то вроде этого ...

# jdbc_connection.rb

require 'java'

java_import 'oracle.jdbc.OracleDriver'
java_import 'java.sql.DriverManager'
java_import 'java.util.Properties' #<---Import here

class OracleConnection

  @conn = nil

  def initialize (url)
    @url = url
    #I want to create the array of properties here and populate it with my SSL properties. I'm really lost here.

    # Load driver class
    oradriver = OracleDriver.new

    DriverManager.registerDriver oradriver
    #I want to pass the Properties to DriverManager.
    @conn = DriverManager.get_connection url, properties 
    @conn.auto_commit = false

  end

Я зациклен на том, как создать свойства в ruby ​​и передать их.Есть идеи?

1 Ответ

1 голос
/ 07 марта 2019

обрабатывает Java-класс java.util.Properties как Ruby (все его методы API доступны)

также, если вы посмотрите на документы Properties extends Hashtable и Hashtable является (реализует) Map.

JRuby предоставляет расширение для всех типов карт, которое очень похоже на Ruby Hash.

properties = java.util.Properties.new
properties.put 'a.ssl.key', 'A-VALUE' # Java style (put inherited from Hashtable)
properties['another.ssl.key'] = 'ANOTHER' # Ruby Hash style
...