>  Q&A  >  본문

java编程思想读书笔记 - Java编程思想习题请教: 使用动态代理来编写一个系统以实现事务?

大家好,小弟最近在学习《Java编程思想》第四版,学习到第十四章《类型信息》中动态代理的时候,在习题23后遇到一个问题,使用动态编写一个系统以实现事务,不知道该如何解决,特来请教大家,题目如下:

使用动态代理来编写一个系统以实现事务,其中,代理在被代理的调用执行成功(不抛出任何异常)执行提交,而在执行失败时执行回滚。你的提交和回滚都针对一个外部的文本文件,该文件不在Java异常的控制范围之内。你必须注意操作的原子性。

该题目英文原文如下:

谢谢大家。

高洛峰高洛峰2744일 전612

모든 응답(1)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 10:50:51

    트랜잭션 처리의 어려움은 '복구' 부분에 있다고 생각합니다. 복구하려면 장면을 저장하거나 효과적인 역동작을 제공해야 합니다. 물론 역방향 작업은 일반적으로 비즈니스 범주에 속하므로 여기서는 동적 프록시 구현이 필요하므로 상태 복구가 상대적으로 적절해야 합니다.

    파일 작업의 경우 상태를 저장하는 가장 간단하고 조잡한 방법은 파일 백업을 저장하는 것입니다. 그래서 동적 프록시는 이런 것 같아요

    1. 작업하려는 파일의 백업을 저장하세요

    2. 프록시된 코드를 호출하여 자체 비즈니스 작업을 수행합니다(예외 모니터링 중)

    3. 예외가 발생하면 파일 백업을 복원하고, 그렇지 않으면 이 단계를 무시하세요

    4. 파일 백업 삭제

    제 답변이 여러분에게 아이디어를 줄 수 있는지 확인해 보세요

    회신하다
    0
  • 취소회신하다