Using transformer element to create a standalone transformer bean instead of endpoit
Hello.
Is there any way to use "transformer" element to create a standalone transformer bean but not an end point connected to channels?
Consider I'd like to replace character 'A' with 'B' in string payload. When I'm in <chain> i can do it like this:
Code:
<int:chain input-channel="..." output-channel="...">
...
<int:transformer expression="payload.replace('A', 'B')" />
...
</int:chain>
But if I want to reuse that transformer in several chains, I have to create manually transformer and SpEL expression instance! It looks awful:( :
Code:
<bean id="spelParser" class="org.springframework.expression.spel.standard.SpelExpressionParser" />
<bean id="replaceABtransformer" class="org.springframework.integration.transformer.ExpressionEvaluatingTransformer">
<constructor-arg name="expression">
<bean factory-bean="spelParser" factory-method="parseExpression">
<constructor-arg name="expressionString" value="payload.replace('A', 'B')" />
</bean>
</constructor-arg>
</bean>
<int:chain input-channel="..." output-channel="...">
...
<int:transformer ref="replaceABtransformer" />
...
</int:chain>
Regards,
-- Alexey