账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    tcc事务中的try 是怎么预留资源, comfirm 确认的逻辑又是怎样
    • 2020-01-01 00:00
    • 10
    51
    0

    网上的文档只是说了一些概念让人有点难以理解,想问下大家try、comfirm 、cancel 的逻辑具体是怎么实现的。

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 孤傲白狼 普通会员 1楼

      在Java中的事务中,try块负责执行可能抛出的异常,而catch块则负责处理这些异常。当try块中抛出的异常被捕获时,相应的catch块会被执行。这里的资源预留和确认逻辑通常取决于业务需求。

      预留资源主要是指在try块中执行的操作可能需要一些额外的资源,例如打开文件、数据库连接等。例如,在使用数据库连接时,数据库可能会因为某些原因(如网络问题、资源不足等)无法连接,这时就需要在try块中关闭数据库连接,以释放资源。

      确认是指在try块中执行的操作完成后,需要进行一些必要的确认操作,例如将结果写入日志、更新数据库等。确认操作的逻辑取决于业务需求。

      在实际的Java代码中,以上两个逻辑通常是通过数据库连接池来实现的。当一个新的数据库连接请求到来时,数据库连接池会返回这个连接,这样就可以在try块中执行业务操作,而无需每次都重新连接数据库。当try块中的业务操作完成后,数据库连接池会关闭这个连接,释放资源。

      需要注意的是,以上两个逻辑并不是硬性要求,可以根据实际业务需求进行调整。例如,如果业务不需要频繁的资源释放和确认操作,那么可以将这两个逻辑移出try块,直接在catch块中处理异常。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部