Class: RBoss::Twiddle::Invoker

Inherits:
Object
  • Object
show all
Includes:
Platform
Defined in:
lib/rboss/twiddle/twiddle.rb,
lib/rboss/twiddle/base_monitor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Platform

#clear, #jboss_cli, #run_conf, #run_conf_template, #twiddle

Constructor Details

#initialize(params = {}) ⇒ Invoker

Returns a new instance of Invoker.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/rboss/twiddle/twiddle.rb', line 33

def initialize params = {}
  params = {
    :jboss_home => ENV["JBOSS_HOME"],
    :server => nil,
    :host => '127.0.0.1',
    :port => 1099,
    :user => "admin",
    :password => "admin"
  }.merge! params
  @jboss_home = params[:jboss_home]

  @server = params[:server]
  @host = params[:host]
  @port = params[:port]
  @server ||= [@host, @port].join ':'

  @user = params[:user]
  @password = params[:password]

  @command = "#{twiddle} -s #{@server} -u '#{@user}' -p '#{@password}'"

  @logger = params[:logger]
  unless @logger
    @logger = Logger::new STDOUT
    @logger.level = params[:log_level] || Logger::INFO
    formatter = Logger::Formatter.new

    def formatter.call(severity, time, program_name, message)
      "#{severity} : #{message}\n"
    end

    @logger.formatter = formatter
  end
end

Instance Attribute Details

#commandObject

Returns the value of attribute command.



31
32
33
# File 'lib/rboss/twiddle/twiddle.rb', line 31

def command
  @command
end

#hostObject (readonly)

Returns the value of attribute host.



30
31
32
# File 'lib/rboss/twiddle/twiddle.rb', line 30

def host
  @host
end

#passwordObject (readonly)

Returns the value of attribute password.



30
31
32
# File 'lib/rboss/twiddle/twiddle.rb', line 30

def password
  @password
end

#portObject (readonly)

Returns the value of attribute port.



30
31
32
# File 'lib/rboss/twiddle/twiddle.rb', line 30

def port
  @port
end

#serverObject (readonly)

Returns the value of attribute server.



30
31
32
# File 'lib/rboss/twiddle/twiddle.rb', line 30

def server
  @server
end

#userObject (readonly)

Returns the value of attribute user.



30
31
32
# File 'lib/rboss/twiddle/twiddle.rb', line 30

def user
  @user
end

Instance Method Details

#execute(command, *arguments) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/rboss/twiddle/twiddle.rb', line 76

def execute command, *arguments
  exec = shell command, arguments
  @logger.debug exec
  result = `#{exec}`.chomp
  return nil if result["ERROR [Twiddle] Command failure"]
  result
end

#get(params) ⇒ Object



52
53
54
55
# File 'lib/rboss/twiddle/base_monitor.rb', line 52

def get params
  mbean = extract params
  mbean[params[:property]]
end

#homeObject



68
69
70
# File 'lib/rboss/twiddle/twiddle.rb', line 68

def home
  @jboss_home
end

#info(params) ⇒ Object



72
73
74
75
# File 'lib/rboss/twiddle/base_monitor.rb', line 72

def info params
  mbean = extract params
  execute :info, mbean.name, *params[:args]
end

#invoke(params) ⇒ Object



62
63
64
65
# File 'lib/rboss/twiddle/base_monitor.rb', line 62

def invoke params
  mbean = extract params
  mbean.invoke params[:method], *params[:args]
end

#mbean(id) ⇒ Object



48
49
50
# File 'lib/rboss/twiddle/base_monitor.rb', line 48

def mbean id
  monitor.mbean id
end

#monitorObject



43
44
45
46
# File 'lib/rboss/twiddle/base_monitor.rb', line 43

def monitor
  @monitor ||= BaseMonitor::new self
  @monitor
end

#query(params) ⇒ Object



67
68
69
70
# File 'lib/rboss/twiddle/base_monitor.rb', line 67

def query params
  mbean = extract params
  execute :query, mbean.name, *params[:args]
end

#set(params) ⇒ Object



57
58
59
60
# File 'lib/rboss/twiddle/base_monitor.rb', line 57

def set params
  mbean = extract params
  mbean[params[:property]] = params[:value]
end

#shell(operation, *arguments) ⇒ Object



72
73
74
# File 'lib/rboss/twiddle/twiddle.rb', line 72

def shell operation, *arguments
  "#{command} #{operation} #{arguments.join " "}"
end