jmx 0.9 → 1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9fa9bbb1a93c422303830a9ef208f28e5323c3fd
4
+ data.tar.gz: e428262d35f2d7829147aadfd9dfc2d75ede5655
5
+ SHA512:
6
+ metadata.gz: 7573588f552e46875fa3d8ffa1c18a526674f787aa6fb584db09c0a6fd5d9d325e61b86e7ff8948caffedc31d0071e1b853307205573010238a6b57213aaa36d
7
+ data.tar.gz: 26084791754127ca3a856bdce0c87a819db117ed130fe9d90db247b04f14be209195e6e30098b9d2979c7dc5ab31a2d3b35cdc4fd9d9598f49a24416fcc89e2f
data/README.md CHANGED
@@ -12,7 +12,7 @@ Connect to same JVM as client script and look at Memory MBean
12
12
  ```ruby
13
13
  require 'jmx'
14
14
 
15
- client = JMX.simple_connect(:port => 9999)
15
+ client = JMX.connect(:host => 'localhost', :port => 9999)
16
16
 
17
17
  memory = client["java.lang:type=Memory"]
18
18
  puts memory.attributes
@@ -35,9 +35,12 @@ You can also create your own MBeans and register them as well:
35
35
  end
36
36
  end
37
37
 
38
+ my_server = JMX::MBeanServer.new
39
+ my_server_connector = JMX.simple_server(server: my_server)
40
+
38
41
  dyna = MyDynamicMBean.new("domain.MySuperBean", "Heh")
39
42
  domain = my_server.default_domain
40
- my_server.register_mbean dyna, "#{@domain}:type=MyDynamicMBean"
43
+ my_server.register_mbean dyna, "#{domain}:type=MyDynamicMBean"
41
44
  ```
42
45
 
43
46
  ## REQUIREMENTS:
data/lib/jmx.rb CHANGED
@@ -36,8 +36,9 @@ module JMX
36
36
  def self.simple_server(opts = {})
37
37
  port = opts[:port] || 8686
38
38
  url_path = opts[:url_path] || "/jmxrmi"
39
+ server = opts[:server] || JMX::MBeanServer.new
39
40
  url = "service:jmx:rmi:///jndi/rmi://localhost:#{port}#{url_path}"
40
- $registry = RMIRegistry.new port
41
+ $registry = opts[:registry] || RMIRegistry.new(port)
41
42
  @connector = JMX::MBeanServerConnector.new(url, JMX::MBeanServer.new).start
42
43
  end
43
44
  end
@@ -29,8 +29,8 @@ module JMX
29
29
  def self.generate(server, object_name)
30
30
  parent, class_name = MBeans.parent_for object_name.info(server).class_name
31
31
 
32
- if parent.const_defined? class_name
33
- proxy = parent.const_get(class_name)
32
+ if parent.const_defined? class_name, false
33
+ proxy = parent.const_get(class_name, false)
34
34
  else
35
35
  proxy = Class.new MBeanProxy
36
36
  parent.const_set class_name, proxy
@@ -16,10 +16,10 @@ module JMX
16
16
  return [parent, segment] if segment =~ /^[A-Z]/
17
17
 
18
18
  segment.capitalize!
19
- unless parent.const_defined? segment
19
+ unless parent.const_defined? segment, false
20
20
  parent.const_set segment, Module.new
21
21
  else
22
- parent.const_get segment
22
+ parent.const_get segment, false
23
23
  end
24
24
  end
25
25
 
@@ -1,3 +1,3 @@
1
1
  module JMX
2
- VERSION = "0.9"
2
+ VERSION = "1.0"
3
3
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jmx
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: '0.9'
4
+ version: '1.0'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Thomas E. Enebo
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-06-11 00:00:00.000000000 Z
11
+ date: 2016-11-17 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Access and create MBeans in a friendly Ruby syntax
15
14
  email: tom.enebo@gmail.com
@@ -17,90 +16,57 @@ executables: []
17
16
  extensions: []
18
17
  extra_rdoc_files: []
19
18
  files:
20
- - !binary |-
21
- LmdpdGlnbm9yZQ==
22
- - !binary |-
23
- SGlzdG9yeS50eHQ=
24
- - !binary |-
25
- TElDRU5TRS50eHQ=
26
- - !binary |-
27
- TWFuaWZlc3QudHh0
28
- - !binary |-
29
- UkVBRE1FLm1k
30
- - !binary |-
31
- UmFrZWZpbGU=
32
- - !binary |-
33
- am14LmdlbXNwZWM=
34
- - !binary |-
35
- bGliL2pteC5yYg==
36
- - !binary |-
37
- bGliL2pteC9jb21wb3NpdGVfZGF0YS5yYg==
38
- - !binary |-
39
- bGliL2pteC9keW5hbWljX21iZWFuLnJi
40
- - !binary |-
41
- bGliL2pteC9tYmVhbl9wcm94eS5yYg==
42
- - !binary |-
43
- bGliL2pteC9tYmVhbnMucmI=
44
- - !binary |-
45
- bGliL2pteC9ub3RpZmllci5yYg==
46
- - !binary |-
47
- bGliL2pteC9vYmplY3RfbmFtZS5yYg==
48
- - !binary |-
49
- bGliL2pteC9zZXJ2ZXIucmI=
50
- - !binary |-
51
- bGliL2pteC91dGlsL3N0cmluZ191dGlscy5yYg==
52
- - !binary |-
53
- bGliL2pteC92ZXJzaW9uLnJi
54
- - !binary |-
55
- bGliL3JtaS5yYg==
56
- - !binary |-
57
- bmJwcm9qZWN0L3ByaXZhdGUvcHJpdmF0ZS54bWw=
58
- - !binary |-
59
- bmJwcm9qZWN0L3Byb2plY3QucHJvcGVydGllcw==
60
- - !binary |-
61
- bmJwcm9qZWN0L3Byb2plY3QueG1s
62
- - !binary |-
63
- c2FtcGxlcy9tZW1vcnkucmI=
64
- - !binary |-
65
- dGVzdC9qbXhfYXR0cmlidXRlX3Rlc3QucmI=
66
- - !binary |-
67
- dGVzdC9qbXhfY2xpZW50X3Rlc3QucmI=
68
- - !binary |-
69
- dGVzdC9qbXhfbWFuZ2xpbmdfdGVzdC5yYg==
70
- - !binary |-
71
- dGVzdC9qbXhfc2VydmVyX3Rlc3QucmI=
19
+ - ".gitignore"
20
+ - History.txt
21
+ - LICENSE.txt
22
+ - Manifest.txt
23
+ - README.md
24
+ - Rakefile
25
+ - jmx.gemspec
26
+ - lib/jmx.rb
27
+ - lib/jmx/composite_data.rb
28
+ - lib/jmx/dynamic_mbean.rb
29
+ - lib/jmx/mbean_proxy.rb
30
+ - lib/jmx/mbeans.rb
31
+ - lib/jmx/notifier.rb
32
+ - lib/jmx/object_name.rb
33
+ - lib/jmx/server.rb
34
+ - lib/jmx/util/string_utils.rb
35
+ - lib/jmx/version.rb
36
+ - lib/rmi.rb
37
+ - nbproject/private/private.xml
38
+ - nbproject/project.properties
39
+ - nbproject/project.xml
40
+ - samples/memory.rb
41
+ - test/jmx_attribute_test.rb
42
+ - test/jmx_client_test.rb
43
+ - test/jmx_mangling_test.rb
44
+ - test/jmx_server_test.rb
72
45
  homepage: http://github.com/enebo/jmx
73
46
  licenses: []
47
+ metadata: {}
74
48
  post_install_message:
75
49
  rdoc_options: []
76
50
  require_paths:
77
51
  - lib
78
52
  required_ruby_version: !ruby/object:Gem::Requirement
79
53
  requirements:
80
- - - ! '>='
54
+ - - ">="
81
55
  - !ruby/object:Gem::Version
82
- version: !binary |-
83
- MA==
84
- none: false
56
+ version: '0'
85
57
  required_rubygems_version: !ruby/object:Gem::Requirement
86
58
  requirements:
87
- - - ! '>='
59
+ - - ">="
88
60
  - !ruby/object:Gem::Version
89
- version: !binary |-
90
- MA==
91
- none: false
61
+ version: '0'
92
62
  requirements: []
93
63
  rubyforge_project: jmx
94
- rubygems_version: 1.8.24
64
+ rubygems_version: 2.6.8
95
65
  signing_key:
96
- specification_version: 3
66
+ specification_version: 4
97
67
  summary: Access and create MBeans in a friendly Ruby syntax
98
68
  test_files:
99
- - !binary |-
100
- dGVzdC9qbXhfYXR0cmlidXRlX3Rlc3QucmI=
101
- - !binary |-
102
- dGVzdC9qbXhfY2xpZW50X3Rlc3QucmI=
103
- - !binary |-
104
- dGVzdC9qbXhfbWFuZ2xpbmdfdGVzdC5yYg==
105
- - !binary |-
106
- dGVzdC9qbXhfc2VydmVyX3Rlc3QucmI=
69
+ - test/jmx_attribute_test.rb
70
+ - test/jmx_client_test.rb
71
+ - test/jmx_mangling_test.rb
72
+ - test/jmx_server_test.rb