Hi Ove

AFAIR John ran into similar issues recently, see
http://mail-archives.apache.org/mod_mbox/deltaspike-dev/201409.mbox/%3ccaoqetn9hat9yiorqtsafbo5ysmntngaqpet4bnxtw9-czw5...@mail.gmail.com%3E

The reason we look for persistence.xml is to extract the orm.xml files -
we're mainly interested in those as they define entities, primary keys etc.
which is cached for later usage. Agree that failing deployments might be
too aggressive. An option would be to have a dedicated extension for
scanning which can be deactivated (as most use cases will have annotation
based entities anyway).

On Fri, Oct 10, 2014 at 8:13 AM, Ove Ranheim <[email protected]> wrote:

> Hi,
>
> I have a test case that uses jpa-module and hibernate; using
> org.jboss.arquillian.container:arquillian-weld-ee-embedded-1.1:1.0.0.CR8.
> The persistence.xml and the test case works correctly.
>
> When I add the data-module, it tries to load the persistence.xml over
> again and it fails with: URL does not exist:
> archive:test.war/WEB-INF/classes/META-INF/persistence.xml
>
> * Is there a way to disable DescriptorReader to load persistence.xml?
> * Why does data-module load the persistence.xml?
> * Any other way to circumvent this problem?
> * Is this a bug?
>
> I read through Mark's blog post:
> http://struberg.wordpress.com/2012/03/27/unit-testing-strategies-for-cdi-based-projects/,
> which indicates that this may be due to a  classloading issue. The links to
> Arquillian Wiki is broken (under "Embedded style Arquillian tests"), so I'm
> a bit lost.
>
> Regards
> Ove
>
>
> INFO: class: org.apache.deltaspike.data.impl.RepositoryExtension
> activated=true
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> -123,542.439 sec <<< FAILURE! - in
> org.jboss.weld.WeldTransactionServicesTest
> org.jboss.weld.WeldTransactionServicesTest  Time elapsed: -123,542.44 sec
> <<< ERROR!
> org.jboss.weld.exceptions.DefinitionException: Exception List with 1
> exceptions:
> Exception 0 :
> java.lang.IllegalArgumentException: URL does not exist:
> archive:test.war/WEB-INF/classes/META-INF/persistence.xml
>         at
> org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readFromUrl(DescriptorReader.java:64)
>         at
> org.apache.deltaspike.data.impl.meta.unit.DescriptorReader.readAllFromClassPath(DescriptorReader.java:50)
>         at
> org.apache.deltaspike.data.impl.meta.unit.PersistenceUnitReader.readAll(PersistenceUnitReader.java:37)
>         at
> org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.readPersistenceXmls(PersistenceUnits.java:98)
>         at
> org.apache.deltaspike.data.impl.meta.unit.PersistenceUnits.init(PersistenceUnits.java:45)
>         at
> org.apache.deltaspike.data.impl.RepositoryExtension.beforeBeanDiscovery(RepositoryExtension.java:74)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:483)
>         at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:90)
>         at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:271)
>         at
> org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:121)
>         at
> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:258)
>         at
> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:237)
>         at
> org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:174)
>         at
> org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:133)
>         at
> org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:107)
>         at
> org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:54)
>         at
> org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:42)
>         at
> org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:45)
>         at
> org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:385)
>         at
> org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:76)
>         at
> org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.startContainer(TestContainer.java:273)
>         at
> org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:105)
>         at
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
>         at
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
>         at
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
>         at
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>
>
>
>

Reply via email to