[JBoss JIRA] (ARQ-2002) Exception is thrown when updating Shrinkwrap to 1.2.3
by Alex Soto (JIRA)
[ https://issues.jboss.org/browse/ARQ-2002?page=com.atlassian.jira.plugin.s... ]
Alex Soto commented on ARQ-2002:
--------------------------------
What is happening is that Arquillian 1.1.10 comes with ShrinkWrap 1.2.2 so there is no problem and everything works as expected, but if you download the project and you explicitly set to use ShrinkWrap 1.2.3 (the latest one) then a NoClassDefFoundError is thrown although the class it says that cannot be found is in ShrinkWrap 1.2.3 too.
To reproduce it simply add ShrinkWrap 1.2.3 and execute a mvn test and you will see some failing tests because of this error.
> Exception is thrown when updating Shrinkwrap to 1.2.3
> -----------------------------------------------------
>
> Key: ARQ-2002
> URL: https://issues.jboss.org/browse/ARQ-2002
> Project: Arquillian
> Issue Type: Bug
> Components: Daemon
> Reporter: Alex Soto
> Assignee: Andrew Rubinger
>
> I have reborn the Arquillian Daemon project, basically to update to latest versions of every component. I have updated to Arquillian 1.1.10 and no problem, but when I have updated ShrinkWrap version to 1.2.3, I got next exception:
> {code}
> java.lang.NoClassDefFoundError: Could not initialize class org.jboss.shrinkwrap.api.ShrinkWrap$DefaultDomainWrapper
> {code}
> The strange thing is that this class has been at the same place for several versions, so not sure why it is throwing this exception. Maybe it is a cascade problem and this is not the root exception.
> Alex.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-2002) Exception is thrown when updating Shrinkwrap to 1.2.3
by Andrew Rubinger (JIRA)
[ https://issues.jboss.org/browse/ARQ-2002?page=com.atlassian.jira.plugin.s... ]
Andrew Rubinger commented on ARQ-2002:
--------------------------------------
Do you mean the parent POM to:
{code}<version.org.jboss.arquillian.core>1.1.10.Final</version.org.jboss.arquillian.core>{code}
...? Also looks like ShrinkWrap isn't explicitly brought in here in a dependencyManagement section, but comes in via Arquillian Core and friends. Got a commit you're working off so I can see what you're doing?
> Exception is thrown when updating Shrinkwrap to 1.2.3
> -----------------------------------------------------
>
> Key: ARQ-2002
> URL: https://issues.jboss.org/browse/ARQ-2002
> Project: Arquillian
> Issue Type: Bug
> Components: Daemon
> Reporter: Alex Soto
> Assignee: Andrew Rubinger
>
> I have reborn the Arquillian Daemon project, basically to update to latest versions of every component. I have updated to Arquillian 1.1.10 and no problem, but when I have updated ShrinkWrap version to 1.2.3, I got next exception:
> {code}
> java.lang.NoClassDefFoundError: Could not initialize class org.jboss.shrinkwrap.api.ShrinkWrap$DefaultDomainWrapper
> {code}
> The strange thing is that this class has been at the same place for several versions, so not sure why it is throwing this exception. Maybe it is a cascade problem and this is not the root exception.
> Alex.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-2004) arquillian-wls-embedded-12.1 doesn't support Ear deployment
by Claude Libois (JIRA)
[ https://issues.jboss.org/browse/ARQ-2004?page=com.atlassian.jira.plugin.s... ]
Claude Libois updated ARQ-2004:
-------------------------------
Description:
For weblogic, I need to deploy a ear to embed datasource definition. However when creating a ear archive I get a "Could not determine the module name for <ear name>". By digging in the code I have noticed that the ear is deployed as an EJB. Maybe that it's a limitation of the embeddable API but it wasn't clear if embedded container support ear deployment or not:
{code:java}
@Deployment
public static Archive<?> createDeploymentPackage() {
EnterpriseArchive ea=ShrinkWrap.create(org.jboss.shrinkwrap.api.spec.EnterpriseArchive.class, "m.ear").
addAsManifestResource(new FileAsset(new File("META-INF/weblogic-application.xml")), "weblogic-application.xml").
setApplicationXML("META-INF/application.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml");
JavaArchive jar= ShrinkWrap.create(JavaArchive.class,"idgeneratorTest.jar")
.addClass(IDDAO.class)
.addClass(IDDAOTestEJB.class).
addAsManifestResource(new FileAsset(new File("META-INF/ejb-jar.xml")), "ejb-jar.xml");
ea.addAsModule(jar);
return ea;
}
{code}
was:
For weblogic, I need to deploy a ear to embed datasource definition. However when creating a ear archive I get a "Could not determine the module name for <ear name>". By digging in the code I have noticed that the ear is deployed as an EJB. Maybe that itsa limitation of the embeddable API but it wasn't clear if embedded container support ear deployment or not:
{code:java}
@Deployment
public static Archive<?> createDeploymentPackage() {
EnterpriseArchive ea=ShrinkWrap.create(org.jboss.shrinkwrap.api.spec.EnterpriseArchive.class, "m.ear").
addAsManifestResource(new FileAsset(new File("META-INF/weblogic-application.xml")), "weblogic-application.xml").
setApplicationXML("META-INF/application.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml");
JavaArchive jar= ShrinkWrap.create(JavaArchive.class,"idgeneratorTest.jar")
.addClass(IDDAO.class)
.addClass(IDDAOTestEJB.class).
addAsManifestResource(new FileAsset(new File("META-INF/ejb-jar.xml")), "ejb-jar.xml");
ea.addAsModule(jar);
return ea;
}
{code}
> arquillian-wls-embedded-12.1 doesn't support Ear deployment
> -----------------------------------------------------------
>
> Key: ARQ-2004
> URL: https://issues.jboss.org/browse/ARQ-2004
> Project: Arquillian
> Issue Type: Bug
> Components: WebLogic Containers
> Affects Versions: 1.0.1.Final
> Environment: Test done on Linux with java 7u79 through intelliJ test.
> Reporter: Claude Libois
> Assignee: Vineet Reynolds
>
> For weblogic, I need to deploy a ear to embed datasource definition. However when creating a ear archive I get a "Could not determine the module name for <ear name>". By digging in the code I have noticed that the ear is deployed as an EJB. Maybe that it's a limitation of the embeddable API but it wasn't clear if embedded container support ear deployment or not:
> {code:java}
> @Deployment
> public static Archive<?> createDeploymentPackage() {
> EnterpriseArchive ea=ShrinkWrap.create(org.jboss.shrinkwrap.api.spec.EnterpriseArchive.class, "m.ear").
> addAsManifestResource(new FileAsset(new File("META-INF/weblogic-application.xml")), "weblogic-application.xml").
> setApplicationXML("META-INF/application.xml").
> addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml").
> addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml");
> JavaArchive jar= ShrinkWrap.create(JavaArchive.class,"idgeneratorTest.jar")
> .addClass(IDDAO.class)
> .addClass(IDDAOTestEJB.class).
> addAsManifestResource(new FileAsset(new File("META-INF/ejb-jar.xml")), "ejb-jar.xml");
> ea.addAsModule(jar);
> return ea;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-2004) arquillian-wls-embedded-12.1 doesn't support Ear deployment
by Claude Libois (JIRA)
Claude Libois created ARQ-2004:
----------------------------------
Summary: arquillian-wls-embedded-12.1 doesn't support Ear deployment
Key: ARQ-2004
URL: https://issues.jboss.org/browse/ARQ-2004
Project: Arquillian
Issue Type: Bug
Components: WebLogic Containers
Affects Versions: 1.0.1.Final
Environment: Test done on Linux with java 7u79 through intelliJ test.
Reporter: Claude Libois
Assignee: Vineet Reynolds
For weblogic, I need to deploy a ear to embed datasource definition. However when creating a ear archive I get a "Could not determine the module name for <ear name>". By digging in the code I have noticed that the ear is deployed as an EJB. Maybe that itsa limitation of the embeddable API but it wasn't clear if embedded container support ear deployment or not:
{code:java}
@Deployment
public static Archive<?> createDeploymentPackage() {
EnterpriseArchive ea=ShrinkWrap.create(org.jboss.shrinkwrap.api.spec.EnterpriseArchive.class, "m.ear").
addAsManifestResource(new FileAsset(new File("META-INF/weblogic-application.xml")), "weblogic-application.xml").
setApplicationXML("META-INF/application.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSource-jdbc.xml").
addAsResource(new FileAsset(new File("datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml")), "datasources/minfin.ccff.fwk.core.db.SharedDataSourceTx-jdbc.xml");
JavaArchive jar= ShrinkWrap.create(JavaArchive.class,"idgeneratorTest.jar")
.addClass(IDDAO.class)
.addClass(IDDAOTestEJB.class).
addAsManifestResource(new FileAsset(new File("META-INF/ejb-jar.xml")), "ejb-jar.xml");
ea.addAsModule(jar);
return ea;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-2003) Arquillian Graphene/Drone tests use wrong port to access WebLogic managed server
by Paul Holding (JIRA)
Paul Holding created ARQ-2003:
---------------------------------
Summary: Arquillian Graphene/Drone tests use wrong port to access WebLogic managed server
Key: ARQ-2003
URL: https://issues.jboss.org/browse/ARQ-2003
Project: Arquillian
Issue Type: Bug
Components: WebLogic Containers
Environment: WebLogic version 12.2.1
arquillian-wls-remote-rest version 1.0.0.Final
arquillian-bom version 1.1.10.Final
arquillian-drone-bom version 1.3.1.Final
arquillian-drone-bom version 2.0.3 Final
The Arquillian integraition test and the WebLogic container are running on different hosts.
Reporter: Paul Holding
Assignee: Vineet Reynolds
When using Arquillian to perform integration tests in client mode for an archive that is deployed to a WebLogic 12c R2 container, the wrong port number is being used in the URL accessed by Arquillian Graphene/Drone. When the browser is launched by the test, the port assigned to the WebLogic Admin server is used rather than the port assigned the WebLogic Managed server, which means container returns an HTTP 404 error causing the test case to fail.
I've worked through the code for the various Arquillian components and I believe I've found the root cause of the problem. The problem appears to be in the [RESTUtils|https://github.com/arquillian/arquillian-container-wls/blob/mas...] class of the "wls-common" module which contains the {{deploy(CommonWebLogicConfiguration config, Logger logger, Archive<?> archive)}} method which is responsible for deploying the archive to the WebLogic Managed server and returning the {{ProtocolMetaData}} back to Arquillian. The {{ProtocolMetaData}} is subsequently used by Arquillian Graphene/Drone to access the web page.
Within this method is the following line of code {{HTTPContext httpContext = new HTTPContext(adminUrl.getHost(), adminUrl.getPort());}} which used to build the {{ProtocolMetaData}} object. This means that the admin port is being used instead of the port assigned to the Managed server.
Assuming I've correctly identified the root cause, I don't believe that this Arquillian container adapter can be used with WebLogic 12c R2. The same integration test works fine on other containers such as GlassFish and WildFly.
The Maven dependency for the WebLogic container adapter in my POM file is as follows:
{code:java}
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-wls-remote-rest</artifactId>
<version>1.0.0.Final</version>
</dependency>
{code}
The entry in my arquillian.xml file is as follows:
{code:java}
<container qualifier="arquillian-weblogic-rest">
<configuration>
<property name="adminUrl">http://xxxx:7001</property>
<property name="adminUserName">weblogic</property>
<property name="adminPassword">xxxx</property>
<property name="target">wls_server_1</property>
</configuration>
<protocol type="Servlet 3.0">
<property name="host">xxxx</property>
<property name="port">8080</property>
</protocol>
</container>
{code}
The version of WebLogic I'm using is 12.2.1
As the WebLogic container is running on a separate host, I believe I need to use the REST adapter rather than the remote adapter, as the remote adapter appears to require the Arquillian test to run on the same host as the WebLogic container.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-1842) Show original exception instead of NullPointerExcetpion from TransactionHandler
by Oscar JJFxd (JIRA)
[ https://issues.jboss.org/browse/ARQ-1842?page=com.atlassian.jira.plugin.s... ]
Oscar JJFxd commented on ARQ-1842:
----------------------------------
Thanks a lot!
> Show original exception instead of NullPointerExcetpion from TransactionHandler
> -------------------------------------------------------------------------------
>
> Key: ARQ-1842
> URL: https://issues.jboss.org/browse/ARQ-1842
> Project: Arquillian
> Issue Type: Sub-task
> Components: Base Implementation
> Reporter: Alexandr Sokolov
> Assignee: Bartosz Majsak
> Fix For: transaction_1.0.3.Final
>
>
> Arquillan architecture based on observers. But now, if one of observers throws an exception and transactions are used. We are getting:
>
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
>
> Although the actual exception in my case was thrown by DBUnitDataHandler.prepare().
>
> Could you please change the logic so the original exception is displayed in the output? Otherwise we have to debug to get the actual exception. There is no way to find a solution without debugging via arquillian classes. It really takes rather long time.
> Full exception log:
> {code}
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.rollbackRequired(TransactionHandler.java:159)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransaction(TransactionHandler.java:123)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransactionAfterTest(TransactionHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.testenricher.cdi.CreationalContextDestroyer.destory(CreationalContextDestroyer.java:44)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.after(EventTestRunnerAdaptor.java:103)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:277)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:193)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:345)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
> at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:66)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:159)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:125)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:89)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
> at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:165)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931)
> at java.lang.Thread.run(Thread.java:744)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-1842) Show original exception instead of NullPointerExcetpion from TransactionHandler
by Bartosz Majsak (JIRA)
[ https://issues.jboss.org/browse/ARQ-1842?page=com.atlassian.jira.plugin.s... ]
Bartosz Majsak updated ARQ-1842:
--------------------------------
Fix Version/s: transaction_1.0.3.Final
(was: transaction_1.0.0.next)
> Show original exception instead of NullPointerExcetpion from TransactionHandler
> -------------------------------------------------------------------------------
>
> Key: ARQ-1842
> URL: https://issues.jboss.org/browse/ARQ-1842
> Project: Arquillian
> Issue Type: Sub-task
> Components: Base Implementation
> Reporter: Alexandr Sokolov
> Assignee: Bartosz Majsak
> Fix For: transaction_1.0.3.Final
>
>
> Arquillan architecture based on observers. But now, if one of observers throws an exception and transactions are used. We are getting:
>
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
>
> Although the actual exception in my case was thrown by DBUnitDataHandler.prepare().
>
> Could you please change the logic so the original exception is displayed in the output? Otherwise we have to debug to get the actual exception. There is no way to find a solution without debugging via arquillian classes. It really takes rather long time.
> Full exception log:
> {code}
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.rollbackRequired(TransactionHandler.java:159)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransaction(TransactionHandler.java:123)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransactionAfterTest(TransactionHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.testenricher.cdi.CreationalContextDestroyer.destory(CreationalContextDestroyer.java:44)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.after(EventTestRunnerAdaptor.java:103)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:277)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:193)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:345)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
> at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:66)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:159)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:125)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:89)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
> at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:165)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931)
> at java.lang.Thread.run(Thread.java:744)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years
[JBoss JIRA] (ARQ-1842) Show original exception instead of NullPointerExcetpion from TransactionHandler
by Bartosz Majsak (JIRA)
[ https://issues.jboss.org/browse/ARQ-1842?page=com.atlassian.jira.plugin.s... ]
Bartosz Majsak closed ARQ-1842.
-------------------------------
> Show original exception instead of NullPointerExcetpion from TransactionHandler
> -------------------------------------------------------------------------------
>
> Key: ARQ-1842
> URL: https://issues.jboss.org/browse/ARQ-1842
> Project: Arquillian
> Issue Type: Sub-task
> Components: Base Implementation
> Reporter: Alexandr Sokolov
> Assignee: Bartosz Majsak
> Fix For: transaction_1.0.3.Final
>
>
> Arquillan architecture based on observers. But now, if one of observers throws an exception and transactions are used. We are getting:
>
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
>
> Although the actual exception in my case was thrown by DBUnitDataHandler.prepare().
>
> Could you please change the logic so the original exception is displayed in the output? Otherwise we have to debug to get the actual exception. There is no way to find a solution without debugging via arquillian classes. It really takes rather long time.
> Full exception log:
> {code}
> java.lang.NullPointerException: null
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.rollbackRequired(TransactionHandler.java:159)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransaction(TransactionHandler.java:123)
> at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.endTransactionAfterTest(TransactionHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.testenricher.cdi.CreationalContextDestroyer.destory(CreationalContextDestroyer.java:44)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.after(EventTestRunnerAdaptor.java:103)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:277)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:193)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:345)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
> at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:66)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:159)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:125)
> at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:89)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
> at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:165)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931)
> at java.lang.Thread.run(Thread.java:744)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years