org.jboss.soa.esb.listeners.gateway
Class GroovyGateway
java.lang.Object
org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle
org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle
org.jboss.soa.esb.listeners.gateway.GroovyGateway
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Runnable, ManagedLifecycle
public class GroovyGateway
- extends AbstractThreadedManagedLifecycle
Gateway listener that start the supplied Groovy script.
The Groovy script effectively becomes the gateway listener. The script path (classpath)
is specified in the "script" configuration property.
The script is injected with references to the
config
("config"), a UncomposedMessageDeliveryAdapter
instance for its target service ("deliveryAdapter"), and a reference to the gateway lifecycle instance ("gateway").
Sample Config
<groovy-listener name="soap-client" script="/org/jboss/scripts/MyScript.groovy" is-gateway="true" />
Sample Script
def stopped = false;
println "Starting loop in listener..."
while(!stopped) {
print "."
stopped = gateway.waitUntilStopping
(200);
}
println ""
println "loop ended"
println "delivering message..."
deliveryAdapter
.deliverAsync(config
.getAttribute("xxxx"));
- Author:
- tom.fennelly@jboss.com
- See Also:
- Serialized Form
Methods inherited from class org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle |
addManagedLifecycleThreadEventListener, doDestroy, doStart, doStop, doThreadedDestroy, isRunning, isStopped, isStopping, removeManagedLifecycleThreadEventListener, run, setRunning, waitForRunningStateChange, waitUntilStopped, waitUntilStopped, waitUntilStopping |
Methods inherited from class org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle |
addManagedLifecycleEventListener, changeState, destroy, getConfig, getState, getTerminationPeriod, initialise, removeManagedLifecycleEventListener, start, stop, waitUntilDestroyed, waitUntilDestroyed, waitUntilNotState, waitUntilState |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GroovyGateway
public GroovyGateway(ConfigTree config)
throws ConfigurationException
- Construct the threaded managed lifecycle.
- Parameters:
config
- The configuration associated with this instance.
- Throws:
ConfigurationException
- for configuration errors during initialisation.
doInitialise
protected void doInitialise()
throws ManagedLifecycleException
- Description copied from class:
AbstractManagedLifecycle
- Handle the initialisation of the managed instance.
- Specified by:
doInitialise
in class AbstractManagedLifecycle
- Throws:
ManagedLifecycleException
- for errors while initialisation.
doRun
protected void doRun()
- Description copied from class:
AbstractThreadedManagedLifecycle
- Execute on the thread.
- Specified by:
doRun
in class AbstractThreadedManagedLifecycle
createDeliveryAdapter
protected UncomposedMessageDeliveryAdapter createDeliveryAdapter()
throws ConfigurationException
- Factory method for adapter creation.
- Returns:
- The adapter instance.
- Throws:
ConfigurationException
- Configuration error.