[arquillian-issues] [JBoss JIRA] (ARQ-1889) CDI Injection not working in WebSphere Containers (V8)
Saurabh Agarwal (JIRA)
issues at jboss.org
Mon Mar 23 11:30:19 EDT 2015
[ https://issues.jboss.org/browse/ARQ-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Saurabh Agarwal updated ARQ-1889:
---------------------------------
Hi Poul,
Actually the issue is reproducible and caused by JAR loading hierarchy of WebSphere server.Upon adding the Arquillian JARS on extended path, the hierarchy was corrected and problem got resolved.
ThanksSaurabh
Date: Sat, 21 Mar 2015 16:03:19 -0400
From: issues at jboss.org
To: saurabh_ksa at hotmail.com
Subject: [JBoss JIRA] (ARQ-1889) CDI Injection not working in WebSphere Containers (V8)
Message Title
Gerhard Poul closed an issue as Cannot Reproduce Bug
Arquillian / ARQ-1889
CDI Injection not working in WebSphere Containers (V8)
Change By:
Gerhard Poul
Status:
Open Closed
Assignee:
Gerhard Poul
Resolution:
Cannot Reproduce Bug
Add Comment
This message was sent by Atlassian JIRA (v6.3.11#6341-sha1:83c4d29)
> CDI Injection not working in WebSphere Containers (V8)
> ------------------------------------------------------
>
> Key: ARQ-1889
> URL: https://issues.jboss.org/browse/ARQ-1889
> Project: Arquillian
> Issue Type: Bug
> Components: WebSphere Containers
> Affects Versions: was_1.0.0.Beta1
> Environment: Windows 7, IBM WebSphere Application Server (8.0.0.9), IBM RSA 8
> Reporter: Saurabh Agarwal
> Assignee: Gerhard Poul
> Priority: Blocker
> Attachments: ArquillianInjectionTest.java, StackTrace.txt
>
>
> Hi,
> I have gone through ARQ-1488 and it depicts the same problem what I am facing.
> In my IBM WebSphere Application Server (8.0.0.9), CDI is not working and it is giving me the NP exception.
> Please note I am not using MAVEN build but have all required JARS file in my web-inf/lib directory
> JARS List I am having
> ------------------------------
> arquillian-config-api.jar
> arquillian-config-impl-base.jar
> arquillian-config-spi.jar
> arquillian-container-impl-base.jar
> arquillian-container-spi.jar
> arquillian-container-test-api.jar
> arquillian-container-test-impl-base.jar
> arquillian-container-test-spi.jar
> arquillian-core-api.jar
> arquillian-core-impl-base-1.1.5.Final.jar
> arquillian-core-spi-1.1.5.Final.jar
> arquillian-junit-container.jar
> arquillian-junit-core.jar
> arquillian-protocol-jmx-1.1.5.Final.jar
> arquillian-protocol-servlet.jar
> arquillian-protocol.jar
> arquillian-test-api.jar
> arquillian-test-impl-base.jar
> arquillian-test-spi.jar
> arquillian-testenricher-cdi.jar
> arquillian-testenricher-ejb.jar
> arquillian-testenricher-initialcontext.jar
> arquillian-testenricher-resource.jar
> arquillian-was-remote.jar
> commons-fileupload-1.2.1.jar
> commons-io-1.4.jar
> deltaspike-core-api-1.0.0.jar
> deltaspike-core-impl-1.0.0.jar
> deltaspike-jsf-module-api-1.0.0.jar
> deltaspike-jsf-module-impl-1.0.0.jar
> deltaspike-security-module-api-1.0.0.jar
> deltaspike-security-module-impl-1.0.0.jar
> itext-1.3.jar
> jsfcore.jar
> junit.jar
> org.hamcrest.core_1.3.0.v201303031735.jar
> poi-3.8-20120326.jar
> primefaces-4.0.6.jar
> shrinkwrap-api.jar
> shrinkwrap-descriptors-api-base.jar
> shrinkwrap-descriptors-api-javaee.jar
> shrinkwrap-descriptors-impl-base.jar
> shrinkwrap-descriptors-impl-javaee.jar
> shrinkwrap-descriptors-spi.jar
> shrinkwrap-impl-base.jar
> shrinkwrap-spi.jar
> Code snippet
> ------------------
> import javax.inject.Inject;
> import org.jboss.arquillian.container.test.api.Deployment;
> import org.jboss.arquillian.junit.Arquillian;
> import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
> import org.junit.Assert;
> import org.junit.Test;
> import org.junit.runner.RunWith;
> import com.ford.jcoe.jab.inbound.booking.ui.bean.ListBookingBean;
> import com.ford.jcoe.jab.inbound.booking.ui.bean.TestArquillianBean;
> /**
> * TODO - Place class description here
> */
> @RunWith(Arquillian.class)
> public class ArquillianInjectionTest extends BaseArquillianPersistenceTest {
> @Inject
> ListBookingBean b;
> /**
> * TODO - Place method description here
> *
> * @return
> */
> @Deployment
> public static EnterpriseArchive createTestArchive() {
> java.net.Authenticator.setDefault(basicAuthAuthenticator);
> return BaseArquillianPersistenceTest.createTestArchive("JabEAR");
> }
> /**
> * Unit Test Method
> */
> @Test
> public void testInjection() {
> String stringRepresentation = null;
> try {
> System.out.println("Not Working Step 1");
> stringRepresentation = this.b.toString();
> System.out.println("Not Working Step 2");
> } catch (final NullPointerException npe) {
> Assert.fail("Injection failed.");
> }
> Assert.assertNotNull(stringRepresentation);
> }
> }
> Exception I am getting
> -----------------------------
> Null Pointer exception in stringRepresentation = this.b.toString(); as b is null.
> Complete stack trace
> --------------------------
> java.lang.AssertionError: Injection failed.
> at org.junit.Assert.fail(Assert.java:88)
> at ArquillianInjectionTest.testInjection(ArquillianInjectionTest.java:50)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:301)
> at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> 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.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.client.protocol.local.LocalContainerMethodExecutor.invoke(LocalContainerMethodExecutor.java:50)
> at org.jboss.arquillian.container.test.impl.execution.RemoteTestExecuter.execute(RemoteTestExecuter.java:109)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> 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.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:57)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> 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:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> 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:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> 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:60)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> 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.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
> at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:294)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:269)
> 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:575)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
> at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
> at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
> at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:960)
> at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1064)
> at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
> at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:914)
> at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
> at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453)
> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:277)
> at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
> at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
> at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
> at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1702)
> Most Important Thing
> ------------------------------
> I have commented out the code in WebSphereRemoteContainer.java (for WAS 8 - https://github.com/arquillian/arquillian-container-was) which is responsible for deploying and un-deploying the code.
> For our requirements, the code is already deployed and all we need to run the test on PRE DEPLOYED code only.
> Methods which I have modified
> 1. public ProtocolMetaData deploy(final Archive<?> archive) throws DeploymentException
> 2. public void undeploy(final Archive<?> archive) throws DeploymentException
> I have just commented out the code which install / uninstall the application.
> Can someone help me in getting this issue resolved.
> Please let me know if I need to provide more information for debugging purpose.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
More information about the arquillian-issues
mailing list