我在 JEE 应用程序中有一些 SessionBean,并且喜欢使用 BeanValidation 来验证我的参数。因此整个验证过程是通用的并封装在一个地方。
我看到的唯一缺点是客户端得到一个 EJBException 并且必须打开主异常。是否还有其他一些我没有看到的问题或脏东西,或者更好的方法?
最佳答案
使 ConstraintViolationException
成为 ApplicationException .
如果您还没有,请创建一个 ejb-jar.xml 文件(如果 ejb 是在 war 中打包的,则在/WEB-INF 中,否则在/META-INF 中):
<ejb-jar>
<assembly-descriptor>
<application-exception>
<exception-class>javax.validation.ConstraintViolationException</exception-class>
<rollback>true</rollback>
</application-exception>
</assembly-descriptor>
</ejb-jar>
你可以为 EJB 3.0 或更高版本做
关于java - 在拦截器中抛出 ConstraintViolationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23486935/