Class AbstractScriptExecutingMessageProcessor<T>
java.lang.Object
org.springframework.integration.scripting.AbstractScriptExecutingMessageProcessor<T>
- Type Parameters:
T
- the paylaod type.
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,MessageProcessor<T>
- Direct Known Subclasses:
GroovyCommandMessageProcessor
,GroovyScriptExecutingMessageProcessor
,ScriptExecutingMessageProcessor
public abstract class AbstractScriptExecutingMessageProcessor<T>
extends Object
implements MessageProcessor<T>, BeanClassLoaderAware, BeanFactoryAware
Base
MessageProcessor
for scripting implementations to extend.- Since:
- 2.0
- Author:
- Mark Fisher, Stefan Reuter, Artem Bilan
-
Constructor Summary
ModifierConstructorDescriptionprotected
protected
AbstractScriptExecutingMessageProcessor
(ScriptVariableGenerator scriptVariableGenerator) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract T
executeScript
(ScriptSource scriptSource, Map<String, Object> variables) Subclasses must implement this method.protected ClassLoader
protected BeanFactory
protected abstract ScriptSource
getScriptSource
(Message<?> message) Subclasses must implement this method to create a script source, optionally using the message to locate or create the script.protected ScriptVariableGenerator
final T
processMessage
(Message<?> message) Execute the script and return the result.void
setBeanClassLoader
(ClassLoader classLoader) void
setBeanFactory
(BeanFactory beanFactory)
-
Constructor Details
-
AbstractScriptExecutingMessageProcessor
protected AbstractScriptExecutingMessageProcessor() -
AbstractScriptExecutingMessageProcessor
-
-
Method Details
-
setBeanClassLoader
- Specified by:
setBeanClassLoader
in interfaceBeanClassLoaderAware
-
setBeanFactory
- Specified by:
setBeanFactory
in interfaceBeanFactoryAware
- Throws:
BeansException
-
getScriptVariableGenerator
-
getBeanClassLoader
-
getBeanFactory
-
processMessage
Execute the script and return the result.- Specified by:
processMessage
in interfaceMessageProcessor<T>
- Parameters:
message
- The message to process.- Returns:
- The result.
-
getScriptSource
Subclasses must implement this method to create a script source, optionally using the message to locate or create the script.- Parameters:
message
- the message being processed- Returns:
- a ScriptSource to use to create a script
-
executeScript
@Nullable protected abstract T executeScript(ScriptSource scriptSource, Map<String, Object> variables) Subclasses must implement this method. In doing so, the execution context for the script should be populated with the provided script variables.- Parameters:
scriptSource
- The script source.variables
- The variables.- Returns:
- The result of the execution.
-