jmx 0.9 → 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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