NAME
JMX::Jmx4Perl::Agent::ArtifactHandler - Handler for extracting and manipulating Jolokia artifacts
DESCRIPTION
This module is responsible for mangaging a singe JAR or WAR Archive. It requires Archive::Zip for proper operation.
I.e. this module can
Extract jolokia-access.xml and web.xml from WAR/JAR archives
Check for the esistance of jolokia-access.xml
Update web.xml for WAR files
METHODS
- $handler = JMX::Jmx4Perl::Agent::Jolokia::ArtifactHandler->new(...)
-
Create a new handler with the following options:
file => $file : Path to archive to handle logger => $logger : Logger to use meta => $meta : Jolokia-Meta handler to extract the type of an archive
- $info = $handler->info()
-
Extract information about an archive. Return value is a has with the following keys:
"version" Agent's version "type" Agent type (war, osgi, osgi-bundle, mule, jdk6) "artifactId" Maven artifact id "groupId" Maven group Id
- $handler->add_policy($policy)
-
Add or update the policy given as string to this archive. Dependening on whether it is a WAR or another agent, it is put into the proper place
For "war" agents, this is WEB-INF/classes/jolokia-access.xml, for all others it is /jolokia-access.xml
- $handler->remove_policy()
-
Remove a policy file (no-op, when no policy is present)
- $handler->has_policy()
-
Returns true (i.e. the path to the policy file) if a policy file is contained,
undef
otherwise. - $handler->get_policy()
-
Get the policy file as string or
undef
if no policy is contained. - $handler->extract_webxml()
-
Extract web.xml from WAR agents, for other types, a fatal error is raised. Return value is a string containing the web.xml.
- $handler->update_webxml($webxml)
-
Update web.xml in WAR agents, for other types, a fatal error is raised. Return value is a string containing the web.xml.
$webxml
is the descriptor as a string. - $handler->type()
-
Return the agent's type, which is one of "war", "osgi", "osgi-bundle", "mule" or "jdk6"
LICENSE
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.
AUTHOR
roland@cpan.org