Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-1373

No JSR 223 script engine found for language "javascript" [Hibernate Validator]

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 8.0.0.Alpha2
    • 8.0.0.Alpha1
    • EE
    • None

    Description

      The annotation @ScriptAssert of Hibernate Validator doesn't work anymore. In EAP 6.1.Beta @ScriptAssert works fine and invokes the Javascript engine of Oracle's JDK, i.e. Rhino. However, in WildFly 8.0.0.Alpha1 I get the stacktrace below.

      Example for @ScriptAssert:
      @ScriptAssert(lang = "javascript",
      script = "_this.password != null && _this.password.equals(_this.passwordWdh)",
      message = "

      {kundenverwaltung.kunde.password.notEqual}

      ",
      groups = PasswordGroup.class)
      public class Kunde

      {...}

      The long stacktrace:
      09:25:13,701 ERROR [io.undertow.request] Servlet request failed io.undertow.server.HttpServerExchange@47763a: org.jboss.resteasy.spi.UnhandledException: javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.
      at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:80) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:146) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:351) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:177) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.0-beta-4.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Alpha1.jar:1.0.0.Alpha1]
      at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:87) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:138) [undertow-websockets-jsr-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:82) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:116) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:79)
      at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:52) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:66) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:71) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:26) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at org.wildfly.extension.undertow.security.SecurityContextCreationHandler.handleRequest(SecurityContextCreationHandler.java:56)
      at io.undertow.server.HttpHandlers.executeHandler(HttpHandlers.java:46) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:26) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:118) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:106) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:83) [undertow-servlet-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpHandlers.executeRootHandler(HttpHandlers.java:52) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:544) [undertow-core-1.0.0.Alpha15.jar:1.0.0.Alpha15]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
      Caused by: javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.
      at org.hibernate.validator.internal.engine.ConstraintTree.validateSingleConstraint(ConstraintTree.java:311) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ConstraintTree.validateConstraints(ConstraintTree.java:180) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ConstraintTree.validateConstraints(ConstraintTree.java:124) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:86) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:442) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForNonDefaultGroup(ValidatorImpl.java:417) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:348) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:303) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:133) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at de.shop.kundenverwaltung.service.KundeService.validateKunde(KundeService.java:398) [classes:]
      at de.shop.kundenverwaltung.service.KundeService.createKunde(KundeService.java:375) [classes:]
      at de.shop.kundenverwaltung.service.KundeService$Proxy$_$$_WeldSubclass.createKunde(Unknown Source) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.weld.interceptor.proxy.SimpleInterceptionChain.interceptorChainCompleted(SimpleInterceptionChain.java:47) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:80) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:141) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at de.shop.util.LogInterceptor.log(LogInterceptor.java:73) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.weld.interceptor.proxy.SimpleMethodInvocation.invoke(SimpleMethodInvocation.java:30) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNext(AbstractInterceptionChain.java:93) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:78) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:48) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:41) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at de.shop.kundenverwaltung.service.KundeService$Proxy$_$$_WeldSubclass.createKunde(Unknown Source) [classes:]
      at de.shop.kundenverwaltung.rest.KundeResource.createKunde(KundeResource.java:221) [classes:]
      at de.shop.kundenverwaltung.rest.KundeResource$Proxy$_$$_WeldSubclass.createKunde(Unknown Source) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.weld.interceptor.proxy.SimpleInterceptionChain.interceptorChainCompleted(SimpleInterceptionChain.java:47) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:80) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:141) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at de.shop.util.LogInterceptor.log(LogInterceptor.java:73) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.weld.interceptor.proxy.SimpleMethodInvocation.invoke(SimpleMethodInvocation.java:30) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNext(AbstractInterceptionChain.java:93) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:78) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:141) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at de.shop.util.TransactionalInterceptor.manageTransaction(TransactionalInterceptor.java:45) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.weld.interceptor.proxy.SimpleMethodInvocation.invoke(SimpleMethodInvocation.java:30) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNext(AbstractInterceptionChain.java:93) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.chain.AbstractInterceptionChain.invokeNextInterceptor(AbstractInterceptionChain.java:78) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:48) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:41) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:53) [weld-core-2.0.0.CR4.jar:2013-04-21 15:57]
      at de.shop.kundenverwaltung.rest.KundeResource$Proxy$_$$_WeldSubclass.createKunde(Unknown Source) [classes:]
      at de.shop.kundenverwaltung.rest.KundeResource$Proxy$_$$_WeldClientProxy.createKunde(Unknown Source) [classes:]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_21]
      at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:344) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:296) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:285) [resteasy-jaxrs-3.0-beta-4.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:336) [resteasy-jaxrs-3.0-beta-4.jar:]
      ... 42 more
      Caused by: javax.validation.ConstraintDeclarationException: javax.script.ScriptException: No JSR 223 script engine found for language "javascript".
      at org.hibernate.validator.internal.constraintvalidators.ScriptAssertValidator.isValid(ScriptAssertValidator.java:66) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.engine.ConstraintTree.validateSingleConstraint(ConstraintTree.java:308) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      ... 112 more
      Caused by: javax.script.ScriptException: No JSR 223 script engine found for language "javascript".
      at org.hibernate.validator.internal.util.scriptengine.ScriptEvaluatorFactory.createNewScriptEvaluator(ScriptEvaluatorFactory.java:108) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.util.scriptengine.ScriptEvaluatorFactory.getScriptEvaluatorByLanguageName(ScriptEvaluatorFactory.java:87) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      at org.hibernate.validator.internal.constraintvalidators.ScriptAssertValidator.isValid(ScriptAssertValidator.java:63) [hibernate-validator-4.3.1.Final.jar:4.3.1.Final]
      ... 113 more

      Attachments

        Activity

          People

            jaikiran Jaikiran Pai (Inactive)
            juergen.zimmermann Juergen Zimmermann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: