JDBC选择序列
我需要调用一个webservice,并且需要将响应插入到一个DB父表中,该表的键是序列。我还需要选择刚刚插入的序列号,并在一个事务中将数据插入到两个子表中。如何做到这一点?我可以在一个事务中执行所有插入操作,但我需要执行select以在第一次插入到父表之后获取序列。任何帮助都将不胜感激。您可以通过将所有呼叫打包到一个事务中来实现这一点。有几种异常策略可用,但听起来一种简单的回滚策略适合您。如果事务块中的任何调用生成异常,将触发异常策略。请记住,如果希望web服务调用在失败时引发异常,则需要检查状态代码,如果异常不是您所期望的,则需要生成异常JDBC选择序列,jdbc,transactions,mule,Jdbc,Transactions,Mule,我需要调用一个webservice,并且需要将响应插入到一个DB父表中,该表的键是序列。我还需要选择刚刚插入的序列号,并在一个事务中将数据插入到两个子表中。如何做到这一点?我可以在一个事务中执行所有插入操作,但我需要执行select以在第一次插入到父表之后获取序列。任何帮助都将不胜感激。您可以通过将所有呼叫打包到一个事务中来实现这一点。有几种异常策略可用,但听起来一种简单的回滚策略适合您。如果事务块中的任何调用生成异常,将触发异常策略。请记住,如果希望web服务调用在失败时引发异常,则需要检查状
<transactional action="ALWAYS_BEGIN" doc:name="Transactional">
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="getSequenceNumber" queryTimeout="-1" connector-ref="myConnector" doc:name="Database">
<jdbc-ee:transaction action="BEGIN_OR_JOIN" />
</jdbc-ee:outbound-endpoint>
<http:outbound-endpoint exchange-pattern="request-response" host="${webServiceHost}"
port="${webServicePort}"
path="${webServicePath}"
method="GET" doc:name="HTTP">
</http:outbound-endpoint>
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="createRecord" queryTimeout="-1" connector-ref="myConnector" doc:name="Database">
<jdbc-ee:transaction action="BEGIN_OR_JOIN" />
</jdbc-ee:outbound-endpoint>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" />
</transactional>
您可以在此处阅读有关更多交易的更多信息: