我们有几个遗留的Java服务与RMI-api,由旧的JRMP方法实现,需要'rmic'预编译.
作为将所有内容迁移到最新JDK的一部分,我还尝试将RMI内容重写为更新的方法,其中实现类从UnicastRemoteObject扩展,从而摆脱了rmic预编译步骤.
下面是一个简单的例子,如下所示:https: //www.mkyong.com/java/java-rmi-hello-world-example/ 但我无法通过提交/回滚事务逻辑找到这样的示例.
在当前的遗留代码中,所有事务逻辑都在JRMP容器代码中的单个公共方法invokeObject()中处理,该方法将在一个地方拦截所有 RMI api调用,并且如果RMI调用是如果抛出异常,则成功或回滚.
在没有JRMP容器存在的新方法中,我无法弄清楚如何做到这一点.显然,我不想将提交/回滚逻辑编码到每个api方法中(它们有很多种),但仍然将统一逻辑保存在一个地方.
任何建议,提示,参考等,如何在一个点上拦截所有RMI调用来实现事务逻辑?