JMX::Jmx4Perl::Product::Jetty - Handler for Jetty


jmx4perl documentation Contained in the jmx4perl distribution.

Index


Code Index:

NAME

Top

JMX::Jmx4Perl::Product::Jetty - Handler for Jetty

DESCRIPTION

Top

This is the product handler support Jetty. It supports Jetty version 5, 6 and 7. (http://www.mortbay.org/jetty/)

Please note, that you must have JMX support enabled in Jetty for autodetection and aliasing to work. See the Jetty documentation for details.

LICENSE

Top

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

Top

roland@cpan.org


jmx4perl documentation Contained in the jmx4perl distribution.
#!/usr/bin/perl
package JMX::Jmx4Perl::Product::Jetty;

use JMX::Jmx4Perl::Product::BaseHandler;
use strict;
use base "JMX::Jmx4Perl::Product::BaseHandler";

use Carp qw(croak);

sub id {
    return "jetty";
}

sub name { 
    return "Jetty";
}

sub _try_version {
    my $self = shift;
    my $jmx = $self->{jmx4perl};

    # Jetty V6 & 7
    my $servers = $jmx->search("*:id=0,type=server,*");
    my $ret;
    if ($servers) {
        $ret = $self->try_attribute("version",$servers->[0],"version");
    }

    # Jetty V5
    if (!length($self->{version})) {
        delete $self->{version};
        $ret = $self->try_attribute("version","org.mortbay:jetty=default","version");
    }

    $self->{version} =~ s/Jetty\/([^\s]+).*/$1/;
    return $ret;
}

sub autodetect_pattern {
    return "version";
}

sub vendor {
    return "Mortbay";
} 

sub jsr77 {
    return 0;
}

sub init_aliases {
    return 
    {
     attributes => 
   {
   },
     operations => 
   {
    THREAD_DUMP => [ "jboss.system:type=ServerInfo", "listThreadDump"]
   }
     # Alias => [ "mbean", "attribute", "path" ]
    };
}


1;