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 registerS3ServiceExceptionEvent()
           
 void registerS3ServiceExceptionEvent(String s3ErrorCode)
           
 void registerS3ServiceExceptionMBean()
           
 void registerS3ServiceMBean()
           
 void registerStorageBucketListEvent(String bucketName)
           
 void registerStorageBucketMBeans(StorageBucket[] buckets)
           
 void registerStorageObjectCopyEvent(String bucketName, String key)
           
 void registerStorageObjectDeleteEvent(String bucketName, String key)
           
 void registerStorageObjectGetEvent(String bucketName, String key)
           
 void registerStorageObjectHeadEvent(String bucketName, String key)
           
 void registerStorageObjectMBean(String bucketName, StorageObject[] objects)
           
 void registerStorageObjectPutEvent(String bucketName, String key)
           
 
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

registerStorageBucketMBeans

public void registerStorageBucketMBeans(StorageBucket[] buckets)
Specified by:
registerStorageBucketMBeans in interface MxInterface

registerStorageBucketListEvent

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

registerStorageObjectMBean

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

registerStorageObjectPutEvent

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

registerStorageObjectGetEvent

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

registerStorageObjectHeadEvent

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

registerStorageObjectDeleteEvent

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

registerStorageObjectCopyEvent

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