#java #ruby-on-rails #ruby #jruby
#java #ruby-on-rails #ruby #jruby
Вопрос:
Я работаю с классом, представленным на этом сайте:https://www.oracle.com/technetwork/articles/dsl/jruby-oracle11g-330825.html
Я настраиваю SSL, и мне нужно передать список java.util.properties в Driver manager.
Я полагаю, что я делаю что-то вроде этого…
# 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:
относитесь к java.util.Properties
классу Java как к классу Ruby (доступны все его методы API)
также, если вы посмотрите на документы Properties extends Hashtable
и хэш-таблицу, это (implements) 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