org.jets3t.service.mx
Class MxDelegate

java.lang.Object
  extended by org.jets3t.service.mx.MxDelegate
All Implemented Interfaces:
MxInterface

public class MxDelegate
extends Object
implements MxInterface


Method Summary
static MxDelegate getInstance()
           
 void init()
          Initialize, or reinitialize, the JMX instrumentation support in JetS3t.
 boolean isJmxDelegationActive()
           
 void registerS3BucketListEvent(String bucketName)
           
 void registerS3BucketMBeans(S3Bucket[] buckets)
           
 void registerS3ObjectCopyEvent(String bucketName, String key)
           
 void registerS3ObjectDeleteEvent(String bucketName, String key)
           
 void registerS3ObjectGetEvent(String bucketName, String key)
           
 void registerS3ObjectHeadEvent(String bucketName, String key)
           
 void registerS3ObjectMBean(String bucketName, S3Object[] objects)
           
 void registerS3ObjectPutEvent(String bucketName, String key)
           
 void registerS3ServiceExceptionEvent()
           
 void registerS3ServiceExceptionEvent(String s3ErrorCode)
           
 void registerS3ServiceExceptionMBean()
           
 void registerS3ServiceMBean()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static MxDelegate getInstance()

init

public void init()
Initialize, or reinitialize, the JMX instrumentation support in JetS3t. This method must be invoked at least once within a JVM for the JMX instrumentation to work. When JetS3t's instrumentation is enabled Service and Exception events are always logged, whereas Bucket and Object event logging must be specifically enabled.

This method checks the given properties for the following System properties:

PropertyEffect
com.sun.management.jmxremote If present, enable JMX instrumentation for JetS3t for Java 1.5. On Java 1.5 this System setting is required to enable JMX in general, and if it is present then we automatically enable instrumentation for JetS3t as well.
jets3t.mx If present, enable JMX instrumentation for JetS3t for Java 1.6+. Because Java 1.6+ no longer requires the "com.sun.management.jmxremote" System setting for JMX to be enabled in general, this property can be used as a substitute that allows users to decide whether JetS3t's JMX instrumentation should be turned on or off.


isJmxDelegationActive

public boolean isJmxDelegationActive()
Returns:
true if the JetS3t's JMX delegate has been initialized and activated.

registerS3ServiceMBean

public void registerS3ServiceMBean()
Specified by:
registerS3ServiceMBean in interface MxInterface

registerS3ServiceExceptionMBean

public void registerS3ServiceExceptionMBean()
Specified by:
registerS3ServiceExceptionMBean in interface MxInterface

registerS3ServiceExceptionEvent

public void registerS3ServiceExceptionEvent()
Specified by:
registerS3ServiceExceptionEvent in interface MxInterface

registerS3ServiceExceptionEvent

public void registerS3ServiceExceptionEvent(String s3ErrorCode)
Specified by:
registerS3ServiceExceptionEvent in interface MxInterface

registerS3BucketMBeans

public void registerS3BucketMBeans(S3Bucket[] buckets)
Specified by:
registerS3BucketMBeans in interface MxInterface

registerS3BucketListEvent

public void registerS3BucketListEvent(String bucketName)
Specified by:
registerS3BucketListEvent in interface MxInterface

registerS3ObjectMBean

public void registerS3ObjectMBean(String bucketName,
                                  S3Object[] objects)
Specified by:
registerS3ObjectMBean in interface MxInterface

registerS3ObjectPutEvent

public void registerS3ObjectPutEvent(String bucketName,
                                     String key)
Specified by:
registerS3ObjectPutEvent in interface MxInterface

registerS3ObjectGetEvent

public void registerS3ObjectGetEvent(String bucketName,
                                     String key)
Specified by:
registerS3ObjectGetEvent in interface MxInterface

registerS3ObjectHeadEvent

public void registerS3ObjectHeadEvent(String bucketName,
                                      String key)
Specified by:
registerS3ObjectHeadEvent in interface MxInterface

registerS3ObjectDeleteEvent

public void registerS3ObjectDeleteEvent(String bucketName,
                                        String key)
Specified by:
registerS3ObjectDeleteEvent in interface MxInterface

registerS3ObjectCopyEvent

public void registerS3ObjectCopyEvent(String bucketName,
                                      String key)
Specified by:
registerS3ObjectCopyEvent in interface MxInterface