Hibernatevalidation器在正则表达式匹配上吃CPU

我们正在尝试使用hibernatevalidation器validation地址。 有时hibernatevalidation器会挂起java正则表达式匹配。 它完成了CPU占用率,无法处理任何其他内容。 有没有办法摆脱这个? 这是java 6中的错误吗?

java.lang.Thread.State: RUNNABLE at java.lang.Character.codePointAt(Character.java:2335) at java.util.regex.Pattern$CharProperty.match(Pattern.java:3344) at java.util.regex.Pattern$Curly.match(Pattern.java:3737) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.match(Pattern.java:4295) at java.util.regex.Pattern$GroupTail.match(Pattern.java:4227) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3782) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$Ques.match(Pattern.java:3691) at java.util.regex.Pattern$Curly.match0(Pattern.java:3789) at java.util.regex.Pattern$Curly.match(Pattern.java:3744) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4168) at java.util.regex.Pattern$Loop.matchInit(Pattern.java:4314) at java.util.regex.Pattern$Prolog.match(Pattern.java:4251) at java.util.regex.Matcher.match(Matcher.java:1127) at java.util.regex.Matcher.matches(Matcher.java:502) at org.hibernate.validator.constraints.impl.PatternValidator.isValid(PatternValidator.java:52) at org.hibernate.validator.constraints.impl.PatternValidator.isValid(PatternValidator.java:28) at org.hibernate.validator.engine.ConstraintTree.validateSingleConstraint(ConstraintTree.java:278) at org.hibernate.validator.engine.ConstraintTree.validateConstraints(ConstraintTree.java:153) at org.hibernate.validator.engine.ConstraintTree.validateConstraints(ConstraintTree.java:117) at org.hibernate.validator.metadata.MetaConstraint.validateConstraint(MetaConstraint.java:84) at org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:452) at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:397) at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:361) at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:313) at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613) at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478) at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322) at org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:139) at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:114) at com.liquidation.unifiedregistration.services.impl.UserServiceImpl.validateUser(UserServiceImpl.java:766) at sun.reflect.GeneratedMethodAccessor440.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at $Proxy76.validateUser(Unknown Source)