hi, please have a look at the wildfly-config for module-isolation.
regards, gerhard 2018-07-05 11:06 GMT+02:00 Gofio Code <[email protected]>: > Dear community, > > I am using DeltaSpike Data Module 1.7.2 (some problem with 1.8.2) in a > project together with JPA and Vaadin 8.4.4. The proyectis deployed to > WildFly 13.0.0.Final by means of a ear file. > > Structure of the ear: > > * EAR File > |- lib/ > | |- deltaspike jars (including > "deltaspike-jpa-module-impl-1.7.2.jar") > | `- persistence.jar >> includes JPA, deltaspike > Repositories > |- ejbServices.jar >> it uses the deltaspike Repositories > `- vaadinApp.war >> it uses the ejbServices > > If I didn't set any TransactionStrategy it is deployed and I can even use a > repository to execute a "findAll()" successfully. But if I set > ContainerManagedTransactionStrategy to ContainerManagedTransactionStrategy > I get this exception at deplyment time: > > ------------------------ > 08:49:44,060 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) > MSC000001: Failed to start service > jboss.deployment.unit."gesteven-app-0.0.1-SNAPSHOT.ear".WeldStartService: > org.jboss.msc.service.StartException in service > jboss.deployment.unit."gesteven-app-0.0.1-SNAPSHOT.ear".WeldStartService: > Failed to start service > at > org.jboss.msc.service.ServiceControllerImpl$StartTask.execute( > ServiceControllerImpl.java:1728) > at > org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run( > ServiceControllerImpl.java:1556) > at > org.jboss.threads.ContextClassLoaderSavingRunnable.run( > ContextClassLoaderSavingRunnable.java:35) > at > org.jboss.threads.EnhancedQueueExecutor.safeRun( > EnhancedQueueExecutor.java:1985) > at > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask( > EnhancedQueueExecutor.java:1487) > at > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run( > EnhancedQueueExecutor.java:1378) > at java.lang.Thread.run(Thread.java:748) > Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List > with 1 exceptions: > Exception 0 : > java.lang.IllegalStateException: Can't find class > org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStr > ategy > which is configured for > org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy > at > org.apache.deltaspike.core.impl.exclude.extension.ExcludeExtension. > activateGlobalAlternatives(ExcludeExtension.java:303) > at > org.apache.deltaspike.core.impl.exclude.extension. > ExcludeExtension.vetoBeans(ExcludeExtension.java:174) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.jboss.weld.injection.StaticMethodInjectionPoint.invoke( > StaticMethodInjectionPoint.java:95) > at > org.jboss.weld.injection.MethodInvocationStrategy$ > SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java: > 144) > at > org.jboss.weld.event.ObserverMethodImpl.sendEvent( > ObserverMethodImpl.java:330) > at > org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent( > ExtensionObserverMethodImpl.java:123) > at > org.jboss.weld.event.ObserverMethodImpl.sendEvent( > ObserverMethodImpl.java:308) > at > org.jboss.weld.event.ObserverMethodImpl.notify( > ObserverMethodImpl.java:286) > at > org.jboss.weld.bootstrap.events.ContainerLifecycleEvents. > fireProcessAnnotatedType(ContainerLifecycleEvents.java:203) > at > org.jboss.weld.bootstrap.events.ContainerLifecycleEvents. > fireProcessAnnotatedType(ContainerLifecycleEvents.java:174) > at > org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes( > BeanDeployer.java:166) > at > org.jboss.weld.bootstrap.BeanDeployment.createTypes( > BeanDeployment.java:219) > at > org.jboss.weld.bootstrap.WeldStartup.startInitialization( > WeldStartup.java:415) > at > org.jboss.weld.bootstrap.WeldBootstrap.startInitialization( > WeldBootstrap.java:79) > at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:95) > at > org.jboss.msc.service.ServiceControllerImpl$StartTask.startService( > ServiceControllerImpl.java:1736) > at > org.jboss.msc.service.ServiceControllerImpl$StartTask.execute( > ServiceControllerImpl.java:1698) > at > org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run( > ServiceControllerImpl.java:1556) > at > org.jboss.threads.ContextClassLoaderSavingRunnable.run( > ContextClassLoaderSavingRunnable.java:35) > at > org.jboss.threads.EnhancedQueueExecutor.safeRun( > EnhancedQueueExecutor.java:1985) > at > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask( > EnhancedQueueExecutor.java:1487) > at > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run( > EnhancedQueueExecutor.java:1378) > at java.lang.Thread.run(Thread.java:748) > > at > org.jboss.weld.bootstrap.events.ContainerLifecycleEvents. > fireProcessAnnotatedType(ContainerLifecycleEvents.java:210) > at > org.jboss.weld.bootstrap.events.ContainerLifecycleEvents. > fireProcessAnnotatedType(ContainerLifecycleEvents.java:174) > at > org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes( > BeanDeployer.java:166) > at > org.jboss.weld.bootstrap.BeanDeployment.createTypes( > BeanDeployment.java:219) > at > org.jboss.weld.bootstrap.WeldStartup.startInitialization( > WeldStartup.java:415) > at > org.jboss.weld.bootstrap.WeldBootstrap.startInitialization( > WeldBootstrap.java:79) > at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:95) > at > org.jboss.msc.service.ServiceControllerImpl$StartTask.startService( > ServiceControllerImpl.java:1736) > at > org.jboss.msc.service.ServiceControllerImpl$StartTask.execute( > ServiceControllerImpl.java:1698) > ... 6 more > Suppressed: java.lang.IllegalStateException: Can't find class > org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStr > ategy > which is configured for > org.apache.deltaspike.jpa.spi.transaction.TransactionStrategy > at > org.apache.deltaspike.core.impl.exclude.extension.ExcludeExtension. > activateGlobalAlternatives(ExcludeExtension.java:303) > at > org.apache.deltaspike.core.impl.exclude.extension. > ExcludeExtension.vetoBeans(ExcludeExtension.java:174) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.jboss.weld.injection.StaticMethodInjectionPoint.invoke( > StaticMethodInjectionPoint.java:95) > at > org.jboss.weld.injection.MethodInvocationStrategy$ > SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java: > 144) > at > org.jboss.weld.event.ObserverMethodImpl.sendEvent( > ObserverMethodImpl.java:330) > at > org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent( > ExtensionObserverMethodImpl.java:123) > at > org.jboss.weld.event.ObserverMethodImpl.sendEvent( > ObserverMethodImpl.java:308) > at > org.jboss.weld.event.ObserverMethodImpl.notify( > ObserverMethodImpl.java:286) > at > org.jboss.weld.bootstrap.events.ContainerLifecycleEvents. > fireProcessAnnotatedType(ContainerLifecycleEvents.java:203) > ... 14 more > ------------------------ > > I have double checked the ear file and > "deltaspike-jpa-module-impl-1.7.2.jar" is in its lib folder... Why is it > saying it can't find the class > org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStr > ategy????? > Any ideas?? Could the TransactionStrategy be declared in a different way? > > ** Below is the rest of my configuraion ** > > =========== > persistence.jar > =========== > > >> pom.xml dependency: > > <dependency> > <groupId>org.apache.deltaspike.modules</groupId> > <artifactId>deltaspike-data-module-api</artifactId> > <version>1.7.2</version> > <scope>compile</scope> > </dependency> > <dependency> > <groupId>org.apache.deltaspike.modules</groupId> > <artifactId>deltaspike-data-module-impl</artifactId> > <version>1.7.2</version> > <scope>runtime</scope> > </dependency> > > > >> META-INF/apache-deltaspike.properties: > globalAlternatives.org.apache.deltaspike.jpa.spi.transaction. > TransactionStrategy=org.apache.deltaspike.jpa.impl.transaction. > ContainerManagedTransactionStrategy > > >> META-INF/beans.xml: > this file is empty > > >> META-INF/persistence.xml: > <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence > " > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation=" > http://xmlns.jcp.org/xml/ns/persistence > http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> > <persistence-unit name="myapp-persistence" transaction-type="JTA"> > <provider>org.hibernate.jpa.HibernatePersistenceProvider</ > provider> > <jta-data-source>java:jboss/datasources/myAppDS</jta-data-source> > > <exclude-unlisted-classes>false</exclude-unlisted-classes> > <properties> > <property name="hibernate.dialect" > value="org.hibernate.dialect.PostgreSQLDialect" /> > </properties> > </persistence-unit> > </persistence> > ----------------------------------------- > > >> The EntityManager defined in EntityManagerProducer.java: > public class EntityManagerProducer { > @PersistenceUnit > private EntityManagerFactory emf; > > @Produces // you can also make this @RequestScoped > public EntityManager create() > { > return emf.createEntityManager(); > } > > public void close(@Disposes EntityManager em) > { > if (em.isOpen()) > { > em.close(); > } > } > } > > > ====================== > > It seems to be a classloader problem, but as far as > "deltaspike-jpa-module-impl-1.7.2.jar" is inside the lib folder of the ear > file, i can't figure out why it can't find it... > > Any help will be appreciated, thanks in advance!! >
