1 /* 2 * $Id: ComponentServiceMBean.java 7976 2007-08-21 14:26:13Z dirk.olmes $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.management.mbeans; 12 13 import org.mule.umo.UMOException; 14 import org.mule.umo.lifecycle.Startable; 15 import org.mule.umo.lifecycle.Stoppable; 16 17 import javax.management.ObjectName; 18 19 /** 20 * <code>ComponentServiceMBean</code> defines the management interface for a mule 21 * managed component 22 * 23 * @author <a href="mailto:ross.mason@symphonysoft.com">Ross Mason</a> 24 * @version $Revision: 7976 $ 25 */ 26 public interface ComponentServiceMBean extends Stoppable, Startable, ComponentStatsMBean 27 { 28 /** 29 * The statistics for this component 30 * 31 * @return statistics for this component 32 * @see ComponentStats 33 */ 34 ObjectName getStatistics(); 35 36 /** 37 * The name of this component 38 * 39 * @return The name of this component 40 */ 41 String getName(); 42 43 /** 44 * The number of queued events for this component 45 * 46 * @return The number of queued events for this component 47 */ 48 int getQueueSize(); 49 50 /** 51 * Pauses event processing for theComponent. Unlike stop(), a paused component 52 * will still consume messages from the underlying transport, but those messages 53 * will be queued until the component is resumed. In order to persist these 54 * queued messages you can set the 'recoverableMode' property on the 55 * Muleconfiguration to true. this causes all internal queues to store their 56 * state. 57 * 58 * @throws UMOException if the component failed to pause. 59 * @see org.mule.config.MuleConfiguration 60 */ 61 void pause() throws UMOException; 62 63 /** 64 * Resumes the Component that has been paused. If the component is not paused 65 * nothing is executed. 66 * 67 * @throws UMOException if the component failed to resume 68 */ 69 void resume() throws UMOException; 70 71 boolean isPaused(); 72 73 boolean isStopped(); 74 75 void dispose() throws UMOException; 76 77 /** 78 * Causes the component to stop without processing its event queue first 79 */ 80 void forceStop() throws UMOException; 81 82 boolean isStopping(); 83 }