GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
JMX::Jmx4Perl::Request(3) User Contributed Perl Documentation JMX::Jmx4Perl::Request(3)

JMX::Jmx4Perl::Request - A jmx4perl request

  $req = JMX::Jmx4Perl::Request->new(READ,$mbean,$attribute);

A JMX::Jmx4Perl::Request encapsulates a request for various operational types.

The following attributes are available:

mbean
Name of the targetted mbean in its canonical format.
type
Type of request, which should be one of the constants
READ
Get the value of a attribute
WRITE
Write an attribute
EXEC
Execute an JMX operation
LIST
List all MBeans available
SEARCH
Search for MBeans
AGENT_VERSION
Get the agent's version and extra runtime information of the serverside.
REGISTER_NOTIFICATION
Register for a JMX notification (not supported yet)
REMOVE_NOTIFICATION
Remove a JMX notification (not supported yet)
attribute
If type is "READ" or "WRITE" this specifies the requested attribute
value
For "WRITE" this specifies the value to set
arguments
List of arguments of "EXEC" operations
path
This optional parameter can be used to specify a nested value in an complex mbean attribute or nested return value from a JMX operation. For example, the MBean "java.lang:type=Memory"'s attribute "HeapMemoryUsage" is a complex value, which looks in the JSON representation like

 "value":{"init":0,"max":518979584,"committed":41381888,"used":33442568}
    

So, to fetch the "used" value only, specify "used" as path within the request. You can access deeper nested values by building up a path with "/" as separator. This looks a bit like a simplified form of XPath.

maxDepth, maxObjects, maxCollectionSize, ignoreErrors
With these number you can restrict the size of the JSON structure returned. "maxDepth" gives the maximum nesting level of the JSON object,"maxObjects" returns the maximum number of objects to be returned in total and "maxCollectionSize" restrict the number of all arrays and collections (maps, lists) in the answer. Note, that you should use this restrictions if you are doing massive bulk operations. "ignoreErrors" is useful for read requests with multiple attributes to skip errors while reading attribute values on the errors side (the error text will be set as value).
target
If given, the request is processed by the agent in proxy mode, i.e. it will proxy to another server exposing via a JSR-160 connector. "target" is a hash which contains information how to reach the target service via the proxy. This hash knows the following keys:
url
JMX service URL as specified in JSR-160 pointing to the target server.
env
Further context information which is another hash.

$req = new JMX::Jmx4Perl::Request(....);
 $req = new JMX::Jmx4Perl::Request(READ,$mbean,$attribute,$path, { ... options ... } );
 $req = new JMX::Jmx4Perl::Request(READ,{ mbean => $mbean,... });
 $req = new JMX::Jmx4Perl::Request({type => READ, mbean => $mbean, ... });
    

The constructor can be used in various way. In the simplest form, you provide the type as first argument and depending on the type one or more additional attributes which specify the request. The second form uses the type as first parameter and a hashref containing named parameter for the request parameters (for the names, see above). Finally you can specify the arguments completely as a hashref, using 'type' for the entry specifying the request type.

For the options "maxDepth", "maxObjects" and "maxCollectionSize", you can mix them in into the hashref if using the hashed argument format. For the first format, these options are given as a final hashref.

The option "method" can be used to suggest a HTTP request method to use. By default, the agent decides automatically which HTTP method to use depending on the number of requests and whether an extended format should be used (which is only possible with an HTTP POST request). The value of this option can be either "post" or "get", dependening on your preference.

If the request should be proxied through this request, a target configuration needs to be given as optional parameter. The target configuration consists of a JMX service "url" and a optional environment, which is given as a key-value map. For example

 $req = new JMX::Jmx4Perl::Request(..., { 
                                     target => { 
                                                  url => "",
                                                  env => { ..... }
                                                }
                                     } );
    

Note, depending on the type, some parameters are mandatory. The mandatory parameters and the order of the arguments for the constructor variant without named parameters are:

"READ"
 Order    : $mbean, $attribute, $path
 Mandatory: $mbean, $attribute
    

Note that $attribute can be either a single name or a reference to a list of attribute names.

"WRITE"
 Order    : $mbean, $attribute, $value, $path
 Mandatory: $mbean, $attribute, $value
    
"EXEC"
 Order    : $mbean, $operation, $arg1, $arg2, ...
 Mandatory: $mbean, $operation
    
"LIST"
 Order    : $path
    
"SEARCH"
 Order    : $pattern
 Mandatory: $pattern
    
$req->method()
$req->method("POST")
Set the HTTP request method for this requst excplicitely. If not provided either during construction time (config key 'method') a prefered request method is determined dynamically based on the request contents.
$req->is_mbean_pattern
Returns true, if the MBean name used in this request is a MBean pattern (which can be used in "SEARCH" or for "READ") or not
$request->get("type")
Get a request parameter

This file is part of jmx4perl.

Jmx4perl is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

jmx4perl is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with jmx4perl. If not, see <http://www.gnu.org/licenses/>.

A commercial license is available as well. Please contact roland@cpan.org for further details.

roland@cpan.org
2022-04-12 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.