[JBoss JIRA] (WFLY-11116) Wildfly 12.0.0 Final Delay in Getting the Value Attributes of the Session Variables (Result in Null Pointer Exception)
by ziad saade (Jira)
[ https://issues.jboss.org/browse/WFLY-11116?page=com.atlassian.jira.plugin... ]
ziad saade commented on WFLY-11116:
-----------------------------------
Dear Paul
The same is deployed on multiple application servers flavors and it's working fine even when the proposed workaround is applied the issue is not reproduced which mean the session is the same.
Find below list of scenario's that have been done which shows that the time is not fixed, and most probably the issue is related to the Session cache reading time:
Counter = 500 ---------> KO
Counter = 50000 -------> OK
Counter = 20000 -------> OK
Counter = 10000 -------> OK
Counter = 5000 --------> OK
Counter = 1000 --------> KO
Counter = 2500 --------> KO
Counter = 3000 --------> KO
Counter = 4000 --------> KO
Counter = 4500 --------> KO
Counter = 4900 --------> KO
Counter = 5000 --------> KO
Counter = 6000 --------> KO
Counter = 10000 -------> KO
Counter = 20000 -------> OK
Doing more R & D on session cache, I found that there's specific configuration for the session bean under standalone.xml configuration file, I will try to increase the default-access-timeout and test to check if the issue will be resolved:
<session-bean>
<stateless>
<bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
</stateless>
<stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
<singleton default-access-timeout="5000"/>
</session-bean>
Best Regards
> Wildfly 12.0.0 Final Delay in Getting the Value Attributes of the Session Variables (Result in Null Pointer Exception)
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-11116
> URL: https://issues.jboss.org/browse/WFLY-11116
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 14.0.1.Final, 12.0.0.Final, 13.0.0.Final, 15.0.0.Final
> Reporter: ziad saade
> Assignee: Paul Ferraro
> Priority: Critical
>
> I have two Servlets Book and BookPreview the attribute is set in Book Servlet as follow:
>
> Book.java
> TestBean testBean=null;
> if(session.getAttribute("testBean")!=null)
> testBean = (TestBean)session.getAttribute("testBean");
> else{
> testBean=new TestBean();
> session.setAttribute("testBean",testBean);
> }
> testBean.setAmount("10");
>
> response.sendRedirect("BookPreview");
>
>
> The session attribute can be retrieved and the page is loaded normally and the Amount value is displayed however when submitting the form (Post Action in BookPreview.java) Null Pointer exception is generated.
>
> BookPreview.java
>
> TestBean testBean = (TestBean)session.getAttribute("testBean");
> String amount = testBean.getAmount; //Null pointer exception when submitting the form
>
> <form method="Post" action="BookPreview">
>
> </form>
>
> TestBean.java
>
> public class TestBean implements java.io.Serializable {
>
> private static final long serialVersionUID = 1L;
> private String amount;
>
> public String getAmount() {
> return amount;
> }
>
> public void setAmount(String amount) {
> this.amount = amount;
> }
> }
>
> Kindly advice how to fix the problem at the level of the server configuration.
> PS: I am not getting the exception when deploying the same application under other J EE application servers (Tomcat....)
>
> Thanks and Best Regards
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month
[JBoss JIRA] (WFLY-11974) resource adapter configured as module not finding validation provider
by Lin Gao (Jira)
[ https://issues.jboss.org/browse/WFLY-11974?page=com.atlassian.jira.plugin... ]
Lin Gao moved JBEAP-16710 to WFLY-11974:
----------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-11974 (was: JBEAP-16710)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: JCA
(was: JCA)
Affects Version/s: (was: 7.2.0.GA)
(was: 7.1.6.GA)
Fix Version/s: (was: 7.2.2.GA)
> resource adapter configured as module not finding validation provider
> ---------------------------------------------------------------------
>
> Key: WFLY-11974
> URL: https://issues.jboss.org/browse/WFLY-11974
> Project: WildFly
> Issue Type: Bug
> Components: JCA
> Reporter: Lin Gao
> Assignee: Lin Gao
> Priority: Major
> Original Estimate: 1 day
> Remaining Estimate: 1 day
>
> resource adapter configured as module not finding validation provider
> {code}
> ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
> at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
> at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
> at org.jboss.as.server.ServerService.boot(ServerService.java:398)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
> ... 7 more
> Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
> at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
> ... 8 more
> {code}
> It looks like the hibernate validator module should have services=import:
> {code}
> <module name="org.jboss.ironjacamar.impl" xmlns="urn:jboss:module:1.5">
> ...
> <dependencies>
> ...
> <module name="javax.validation.api"/>
> <module name="org.hibernate.validator"/>
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month
[JBoss JIRA] (JBJCA-1388) Validator is created using rar ClassLoader as the TCCL
by Lin Gao (Jira)
[ https://issues.jboss.org/browse/JBJCA-1388?page=com.atlassian.jira.plugin... ]
Lin Gao commented on JBJCA-1388:
--------------------------------
PR: https://github.com/ironjacamar/ironjacamar/pull/684
> Validator is created using rar ClassLoader as the TCCL
> ------------------------------------------------------
>
> Key: JBJCA-1388
> URL: https://issues.jboss.org/browse/JBJCA-1388
> Project: IronJacamar
> Issue Type: Bug
> Components: Core
> Environment: In WildFly master
> Reporter: Lin Gao
> Assignee: Lin Gao
> Priority: Major
>
> [org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
> This would lead to the following exception if the rar is deployed as a module:
> {code}
> ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
> at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
> at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
> at org.jboss.as.server.ServerService.boot(ServerService.java:398)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
> ... 7 more
> Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
> at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
> ... 8 more
> {code}
> A workaround is add the implementation specific module to the customer's rar module:
> {code}
> <module name="org.hibernate.validator" services="export"/>
> {code}
> But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
> More information can be found at: https://issues.jboss.org/browse/JBEAP-16702?focusedCommentId=13720721&pag...
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month
[JBoss JIRA] (JBJCA-1388) Validator is created using rar ClassLoader as the TCCL
by Lin Gao (Jira)
[ https://issues.jboss.org/browse/JBJCA-1388?page=com.atlassian.jira.plugin... ]
Lin Gao updated JBJCA-1388:
---------------------------
Description:
[org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
This would lead to the following exception if the rar is deployed as a module:
{code}
ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
at org.jboss.as.server.ServerService.boot(ServerService.java:398)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
... 7 more
Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
... 8 more
{code}
A workaround is add the implementation specific module to the customer's rar module:
{code}
<module name="org.hibernate.validator" services="export"/>
{code}
But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
More information can be found at: https://issues.jboss.org/browse/JBEAP-16702?focusedCommentId=13720721&pag...
was:
[org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
This would lead to the following exception if the rar is deployed as a module:
{code}
ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
at org.jboss.as.server.ServerService.boot(ServerService.java:398)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
... 7 more
Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
... 8 more
{code}
A workaround is add the implementation specific module to the customer's rar module:
{code}
<module name="org.hibernate.validator" services="export"/>
{code}
But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
> Validator is created using rar ClassLoader as the TCCL
> ------------------------------------------------------
>
> Key: JBJCA-1388
> URL: https://issues.jboss.org/browse/JBJCA-1388
> Project: IronJacamar
> Issue Type: Bug
> Components: Core
> Environment: In WildFly master
> Reporter: Lin Gao
> Assignee: Lin Gao
> Priority: Major
>
> [org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
> This would lead to the following exception if the rar is deployed as a module:
> {code}
> ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
> at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
> at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
> at org.jboss.as.server.ServerService.boot(ServerService.java:398)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
> ... 7 more
> Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
> at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
> ... 8 more
> {code}
> A workaround is add the implementation specific module to the customer's rar module:
> {code}
> <module name="org.hibernate.validator" services="export"/>
> {code}
> But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
> More information can be found at: https://issues.jboss.org/browse/JBEAP-16702?focusedCommentId=13720721&pag...
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month
[JBoss JIRA] (JBJCA-1388) Validator is created using rar ClassLoader as the TCCL
by Lin Gao (Jira)
[ https://issues.jboss.org/browse/JBJCA-1388?page=com.atlassian.jira.plugin... ]
Lin Gao updated JBJCA-1388:
---------------------------
Description:
[org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
This would lead to the following exception if the rar is deployed as a module:
{code}
ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
at org.jboss.as.server.ServerService.boot(ServerService.java:398)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
... 7 more
Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
... 8 more
{code}
A workaround is add the implementation specific module to the customer's rar module:
{code}
<module name="org.hibernate.validator" services="export"/>
{code}
But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
was:
[org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
This would lead to the following exception if the rar is deployed as a module:
{code}
ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
at org.jboss.as.server.ServerService.boot(ServerService.java:398)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
... 7 more
Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
... 8 more
{code}
A workaround is add the implementation specific module to the customer's rar module:
{code}
<module name="org.hibernate.validator" services="export"/>
{code}
> Validator is created using rar ClassLoader as the TCCL
> ------------------------------------------------------
>
> Key: JBJCA-1388
> URL: https://issues.jboss.org/browse/JBJCA-1388
> Project: IronJacamar
> Issue Type: Bug
> Components: Core
> Environment: In WildFly master
> Reporter: Lin Gao
> Assignee: Lin Gao
> Priority: Major
>
> [org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
> This would lead to the following exception if the rar is deployed as a module:
> {code}
> ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
> at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
> at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
> at org.jboss.as.server.ServerService.boot(ServerService.java:398)
> at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.resource.ResourceException: IJ000852: Validation exception
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
> at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
> ... 7 more
> Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
> at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
> at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
> at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
> ... 8 more
> {code}
> A workaround is add the implementation specific module to the customer's rar module:
> {code}
> <module name="org.hibernate.validator" services="export"/>
> {code}
> But dependency on org.hibernate.validator of a rar module should be internal by the IJ implementation, so that dependency should not be necessary.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month
[JBoss JIRA] (JBJCA-1388) Validator is created using rar ClassLoader as the TCCL
by Lin Gao (Jira)
Lin Gao created JBJCA-1388:
------------------------------
Summary: Validator is created using rar ClassLoader as the TCCL
Key: JBJCA-1388
URL: https://issues.jboss.org/browse/JBJCA-1388
Project: IronJacamar
Issue Type: Bug
Components: Core
Environment: In WildFly master
Reporter: Lin Gao
Assignee: Lin Gao
[org.jboss.jca.core.rar.EndpointImpl.activate|https://github.com/ironjacam...] is setting the TCCL to be that of the resource adapter's ClassLoader, which would be the rar's custom module if the rar is deployed as a JBoss module, however inside this same block it is creating the Bean Validator, so it goes looking for the provider in the rar's module instead of the JBoss IJ module.
This would lead to the following exception if the rar is deployed as a module:
{code}
ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@3f9a21a1. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:273)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
at org.jboss.as.server.ServerService.finishBoot(ServerService.java:430)
at org.jboss.as.server.ServerService.boot(ServerService.java:398)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:370)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.resource.ResourceException: IJ000852: Validation exception
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:177)
at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:271)
... 7 more
Caused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidatorFactory(BeanValidationUtil.java:51)
at org.jboss.jca.core.bv.BeanValidationUtil.createValidator(BeanValidationUtil.java:63)
at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:165)
... 8 more
{code}
A workaround is add the implementation specific module to the customer's rar module:
{code}
<module name="org.hibernate.validator" services="export"/>
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 1 month