java - java validator.validate() 方法需要更长的时间来验证
问题描述
我有父母和多个孩子的关系,其中一位父母有很多孩子。我正在使用 validator.validate 方法根据应用程序功能验证父实体和子实体。但是它需要更长的时间来验证,有时它会给出超时错误。
我引用了这个链接http://forum.spring.io/forum/spring-projects/web/114639-performance-issues-using-localvalidatorfactorybean并使用了 Validation.buildDefaultValidatorFactory().getValidator() [虽然我还没有完全测试但是看到性能改进但在子记录中看到了一些数据问题,我不确定这是因为我创建了单个验证器实例而发生的]
xml配置-->
<bean id="validatorFactory" class ="org.springframwork.beanvalidator.LocalValidatorFactoryBean">
<property name="provider" class ="org.hibernate.validator.HibernateValidator"
Java 类 -->
public class MyValidator implements...{
private Validator validator;
MyValidator(ValidationFactory factory){
this.validator=factory.getValidator();
}
public void doValidation(){
//here it is taking lot of time
validator.validate(objtobevalidated,myvalidationrules);
}
我正在使用 java 1.7,web sphere 8.5
我的问题是——
1)我正在使用 hibernate-validator-4.0.jar 并且它是使用 WebSphere 8.5 提供的。为了提高性能我需要使用更高的 hibernate-validator 版本 4.3 系列还是 5.0 系列
2)由于我使用 Validation.buildDefaultValidatorFactory().getValidator() 创建了单个验证器实例,因此它是否仅验证单个记录,并且在验证父级及其子级期间将忽略剩余记录。
解决方案
推荐阅读
- konvajs - 默认情况下如何在顶部添加新形状
- ruby-on-rails - Rspec DRY:将示例应用于所有上下文
- node.js - Firebase Realtime 与 Firebase Firestore 文档加载时间的差异
- python - 在实体组件系统中应该如何处理设置代码?
- unity3d - 同一物体没有统一发生碰撞
- java - 偶尔出现“未找到 Log4j 2 配置文件”消息
- angular - 由 AWS Amplify Auth 处理的 Stripe Connect 代码
- swift - 强制 swift 类的所有属性键和值小写
- angular - Angular 7 - 如何路由到新窗口位置或文件
- google-apps-script - 我的 googlescript 正在发送重复的电子邮件