Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用遗留框架生成Spring DataAccessException_Java_Spring_Error Handling_Rpc_Corba - Fatal编程技术网

Java 使用遗留框架生成Spring DataAccessException

Java 使用遗留框架生成Spring DataAccessException,java,spring,error-handling,rpc,corba,Java,Spring,Error Handling,Rpc,Corba,我目前正在重写一个遗留web应用程序,其中后端正在使用CORBA和另一个RPC框架,这两个框架都非常旧,不支持Spring 我希望最终能够编写一个@Repository类来处理CORBA和其他RPC调用,并用某种风格的DataAccessException包装它们的所有异常,然后抛出这些异常 我的问题是 有没有一个最佳实践可以帮助我这样做,这样我的存储库就不会抛出太多的DataAccessExceptions,特别是在CORBA和RPC异常都可以通过相同的存储库方法抛出的区域 是否应该在repo

我目前正在重写一个遗留web应用程序,其中后端正在使用CORBA和另一个RPC框架,这两个框架都非常旧,不支持Spring

我希望最终能够编写一个
@Repository
类来处理CORBA和其他RPC调用,并用某种风格的
DataAccessException
包装它们的所有异常,然后抛出这些异常

我的问题是

  • 有没有一个最佳实践可以帮助我这样做,这样我的存储库就不会抛出太多的
    DataAccessExceptions
    ,特别是在CORBA和RPC异常都可以通过相同的存储库方法抛出的区域
  • 是否应该在repository类的“下方”有一个类来处理其中的一些内容并将其抽象掉,或者从技术上讲,这就是repository类的用途

  • 如果社区没有回应,我想我应该发布我的实现,这绝对不是好事,甚至可能有一点味道

    为了让调用我的业务层(标有
    @Service
    的类)的代码只需要担心一个异常(即
    DataAccessException
    ),业务层或下面的代码引发的任何/所有异常都被包装成某种形式的
    DataAccessException
    。这听起来很有趣,因为业务逻辑可能会合法地抛出与数据访问无关的异常,例如验证

    但是,我们的想法是不要用多个catch块或者反模式的
    try{…}catch(Exception ex){…}
    来扰乱我的servlet


    同样,这不是一个真正的答案,但我认为它确实有效…

    您的存储库是否可以处理不同的实体类型?还是只有一个?不同。但我认为它们可能都有相同的名称。我希望每个技术堆栈都有单独的repo,甚至可以为我必须引用的每个CORBA对象类型创建repo,并根据需要在后端ORB/RPC代码中自动连接。