Class QExec
java.lang.Object
org.jpos.q2.QBeanSupport
org.jpos.q2.qbean.QExec
- All Implemented Interfaces:
Configurable, QBean, QExecMBean, QBeanSupportMBean, QPersist
QBean for starting and stopping scripts or programs.
Example xml: <exec class="org.jpos.q2.qbean.QExec"> <attr name="startScript">YOUR PATH TO PROGRAM</attr> <attr name="shutdownScript">YOUR PATH TO PROGRAM</attr> </exec>
-
Field Summary
Fields inherited from class QBeanSupport
cfg, log, scheduledThreadPoolExecutorModifier and TypeFieldDescriptionprotected ConfigurationConfiguration applied to this bean by the container.protected LogLogger associated with this bean.protected ScheduledThreadPoolExecutorLazily-allocated scheduler shared with subclasses; seeQBeanSupport.getScheduledThreadPoolExecutor().Fields inherited from interface QBean
DESTROYED, FAILED, STARTED, STARTING, stateString, STOPPED, STOPPINGModifier and TypeFieldDescriptionstatic final intQBean has been destroyed.static final intQBean has failed.static final intQBean is running.static final intQBean is in the process of starting.static final String[]Human-readable names for each QBean state, indexed by state constant.static final intQBean is stopped.static final intQBean is in the process of stopping. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the configured shutdown-script path.Returns the configured start-script path.parseCommandLine(String commandLine) Tokenises a command line, honouring double-quoted segments and backslash-escaped characters.voidsetShutdownScript(String scriptPath) Sets the path to the script executed when the bean shuts down.voidsetStartScript(String scriptPath) Sets the path to the script executed when the bean starts.protected voidCalled during the start lifecycle phase; subclasses may override.protected voidCalled during the stop lifecycle phase; subclasses may override.Methods inherited from class QBeanSupport
addAttr, close, createElement, defaultRealm, destroy, destroyService, getAttrs, getAttrs, getConfiguration, getDump, getFactory, getLoader, getLoaderURLS, getLog, getLogger, getName, getPersist, getProperties, getProperty, getRealm, getScheduledThreadPoolExecutor, getServer, getState, getStateAsString, init, initService, isModified, running, setAttr, setConfiguration, setLogger, setModified, setName, setPersist, setProperty, setRealm, setServer, setState, start, stopModifier and TypeMethodDescriptionprotected voidAppends an<attr>child element with name/type/value toe.protected voidCloses a sequence ofCloseableresources, logging any failures as a warning.protected org.jdom2.ElementcreateElement(String name, Class mbeanClass) Builds a JDOMElementreflecting the bean's persistent attributes, driven by the JavaBean introspection ofmbeanClass.protected StringReturns the default realm for this bean; subclasses may override.voiddestroy()destroy the serviceprotected voidCalled during the destroy lifecycle phase; subclasses may override.protected IteratorgetAttrs()Iterates over top-level<attr>children of the persisted element.protected IteratorIterates over<attr>children nested under the given parent element name.Returns the configuration applied to this bean.getDump()Returns a textual dump of this bean's state.Returns theQFactoryassociated with the hosting Q2 server.Returns the QClassLoader for this bean.URL[]Returns the URLs registered with the class loader.getLog()Returns theLogused by this bean.Returns the logger name.getName()Returns the bean name.org.jdom2.ElementReturns the persistent configuration element for this QBean.protected IteratorgetProperties(String parent) Iterates over<property>children nested under the given parent element name.protected StringgetProperty(Iterator props, String name) Returns the value of the named property from an iterator of<property>elements.getRealm()Returns the logging realm.protected ScheduledThreadPoolExecutorLazily creates and returns aScheduledThreadPoolExecutorfor use by subclasses.Returns the Q2 server instance.intgetState()Returns the current state of this QBean.Returns the current state as a human-readable string.voidinit()init the serviceprotected voidCalled during the init lifecycle phase; subclasses may override.booleanReturnstrueif this QBean's configuration has been modified since last save.booleanrunning()Indicates whether this bean is currently starting or running.protected voidUpdates the value of the named attribute within an iterator of<attr>elements.voidConfigures this object with the suppliedConfiguration.voidSets the logger by name.voidsetModified(boolean modified) Marks this bean's persistent state as modified or in sync.voidSets the bean name.voidsetPersist(org.jdom2.Element persist) Sets the persistent configuration element.protected voidsetProperty(Iterator props, String name, String value) Updates the value attribute of the named property within an iterator of<property>elements.voidSets the logging realm.voidSets the Q2 server instance for this QBean.voidsetState(int state) Sets the lifecycle state of this bean.voidstart()start the servicevoidstop()stop the service
-
Constructor Details
-
QExec
public QExec()Default constructor; no instance state to initialise.
-
-
Method Details
-
startService
Description copied from class:QBeanSupportCalled during the start lifecycle phase; subclasses may override.- Overrides:
startServicein classQBeanSupport- Throws:
Exception- on error
-
stopService
Description copied from class:QBeanSupportCalled during the stop lifecycle phase; subclasses may override.- Overrides:
stopServicein classQBeanSupport- Throws:
Exception- on error
-
setStartScript
Description copied from interface:QExecMBeanSets the path to the script executed when the bean starts.- Specified by:
setStartScriptin interfaceQExecMBean- Parameters:
scriptPath- path to the start script
-
getStartScript
Description copied from interface:QExecMBeanReturns the configured start-script path.- Specified by:
getStartScriptin interfaceQExecMBean- Returns:
- start-script path
-
setShutdownScript
Description copied from interface:QExecMBeanSets the path to the script executed when the bean shuts down.- Specified by:
setShutdownScriptin interfaceQExecMBean- Parameters:
scriptPath- path to the shutdown script
-
getShutdownScript
Description copied from interface:QExecMBeanReturns the configured shutdown-script path.- Specified by:
getShutdownScriptin interfaceQExecMBean- Returns:
- shutdown-script path
-
parseCommandLine
Tokenises a command line, honouring double-quoted segments and backslash-escaped characters.- Parameters:
commandLine- the command-line string- Returns:
- the parsed argument list
- Throws:
IllegalArgumentException- ifcommandLineisnullor empty
-