gpt4 book ai didi

java - Spring Integration 中的事务感知 POJO

转载 作者:行者123 更新时间:2023-11-30 03:20:52 28 4
gpt4 key购买 nike

我正在使用 POJO(实际上是 POGO)实现一个自定义 Transformer,它基本上是一种文本转换服务。

我想让它“知道”它所属的事务,并在事务结束时,如果整个事务成功则调用一个方法,如果事务回滚则调用另一个方法。

有什么提示吗?

谢谢!

最佳答案

你需要的叫TransactionSynchronization 。但我不确定您是否应该担心如此低的水平,并且它们足以让您try...catch TX 的东西。

即使它是 POJO(或 POGO?),您也可以将其配置为 <transformer> (@Transformer)无论如何。 Spring Integration中此类组件有<request-handler-advice-chain> ( adviceChain ) 选项插入任何 Advice围绕handleRequestMessage实现方法调用。

为了您的目的,您可以这样做:

<transformer>
<request-handler-advice-chain>
<beans:bean class="org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice">
<beans:property name="onSuccessExpression" value=""/>
<beans:property name="onFailureExpression" value=""/>
</beans:bean>
<tx:advice>
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
</request-handler-advice-chain>
</transformer>

TX 语义将用 ExpressionEvaluatingRequestHandlerAdvice 包装。对 TX 结果调用所需的操作,在我们的例子中这是基于 Exception 的事实TX 回调。

有关<request-handler-advice-chain>的更多信息您可以从 Reference Manual 中阅读.

关于java - Spring Integration 中的事务感知 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31371143/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com