jmx 0.9 → 1.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b2af2e528900841ec8cc9eac226791f5c60fe17abdfd16b70c237794b4bdb8b6
4
+ data.tar.gz: 2bd9382ac062e5776defd30b67aecd3dff98581eae29e2383eaa74dc55c2f0b3
5
+ SHA512:
6
+ metadata.gz: 115e7e0741a9503515c3a81f0b7910ef959f21e4ec3060f9e2e7fe5228715e5807e4cbf711a92e8a14faf4ddb8cb0e819c43f8458d1c9bab11c328c42d3bdcde
7
+ data.tar.gz: 92cd54d5c54775742c54bf79408e19131515b9369b82b4ab8370dfddbbf9088cb902dc56198c7be8a3b3fdc1c5dca6a25cef0249d74c86675a47a55f4bb492e6
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:
@@ -13,6 +13,7 @@ module JMX
13
13
  :list => ['java.util.List', lambda {|param| param.to_a}],
14
14
  :long => ['java.lang.Long', lambda {|param| param.to_i}],
15
15
  :float => ['java.lang.Float', lambda {|param| param.to_f}],
16
+ :double => ['java.lang.Double', lambda {|param| param.to_f}],
16
17
  :map => ['java.util.Map', lambda {|param| param}],
17
18
  :set => ['java.util.Set', lambda {|param| param}],
18
19
  :string => ['java.lang.String', lambda {|param| param.to_s}],
@@ -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
data/lib/jmx/mbeans.rb CHANGED
@@ -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
 
data/lib/jmx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module JMX
2
- VERSION = "0.9"
2
+ VERSION = "1.1"
3
3
  end
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
metadata CHANGED
@@ -1,15 +1,13 @@
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.1'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Thomas E. Enebo
9
- autorequire:
10
8
  bindir: bin
11
9
  cert_chain: []
12
- date: 2012-06-11 00:00:00.000000000 Z
10
+ date: 2024-12-06 00:00:00.000000000 Z
13
11
  dependencies: []
14
12
  description: Access and create MBeans in a friendly Ruby syntax
15
13
  email: tom.enebo@gmail.com
@@ -17,90 +15,54 @@ executables: []
17
15
  extensions: []
18
16
  extra_rdoc_files: []
19
17
  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=
18
+ - ".gitignore"
19
+ - History.txt
20
+ - LICENSE.txt
21
+ - Manifest.txt
22
+ - README.md
23
+ - Rakefile
24
+ - jmx.gemspec
25
+ - lib/jmx.rb
26
+ - lib/jmx/composite_data.rb
27
+ - lib/jmx/dynamic_mbean.rb
28
+ - lib/jmx/mbean_proxy.rb
29
+ - lib/jmx/mbeans.rb
30
+ - lib/jmx/notifier.rb
31
+ - lib/jmx/object_name.rb
32
+ - lib/jmx/server.rb
33
+ - lib/jmx/util/string_utils.rb
34
+ - lib/jmx/version.rb
35
+ - lib/rmi.rb
36
+ - nbproject/private/private.xml
37
+ - nbproject/project.properties
38
+ - nbproject/project.xml
39
+ - samples/memory.rb
40
+ - test/jmx_attribute_test.rb
41
+ - test/jmx_client_test.rb
42
+ - test/jmx_mangling_test.rb
43
+ - test/jmx_server_test.rb
72
44
  homepage: http://github.com/enebo/jmx
73
45
  licenses: []
74
- post_install_message:
46
+ metadata: {}
75
47
  rdoc_options: []
76
48
  require_paths:
77
49
  - lib
78
50
  required_ruby_version: !ruby/object:Gem::Requirement
79
51
  requirements:
80
- - - ! '>='
52
+ - - ">="
81
53
  - !ruby/object:Gem::Version
82
- version: !binary |-
83
- MA==
84
- none: false
54
+ version: '0'
85
55
  required_rubygems_version: !ruby/object:Gem::Requirement
86
56
  requirements:
87
- - - ! '>='
57
+ - - ">="
88
58
  - !ruby/object:Gem::Version
89
- version: !binary |-
90
- MA==
91
- none: false
59
+ version: '0'
92
60
  requirements: []
93
- rubyforge_project: jmx
94
- rubygems_version: 1.8.24
95
- signing_key:
96
- specification_version: 3
61
+ rubygems_version: 3.6.0.dev
62
+ specification_version: 4
97
63
  summary: Access and create MBeans in a friendly Ruby syntax
98
64
  test_files:
99
- - !binary |-
100
- dGVzdC9qbXhfYXR0cmlidXRlX3Rlc3QucmI=
101
- - !binary |-
102
- dGVzdC9qbXhfY2xpZW50X3Rlc3QucmI=
103
- - !binary |-
104
- dGVzdC9qbXhfbWFuZ2xpbmdfdGVzdC5yYg==
105
- - !binary |-
106
- dGVzdC9qbXhfc2VydmVyX3Rlc3QucmI=
65
+ - test/jmx_attribute_test.rb
66
+ - test/jmx_client_test.rb
67
+ - test/jmx_mangling_test.rb
68
+ - test/jmx_server_test.rb