[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Martin Gencur (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Martin Gencur commented on ARQ-1937:
------------------------------------
Your suggestion sounds good. And yes, the confusing part was that I can operate on deployment when it's not deployed.
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Aslak Knutsen (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Aslak Knutsen commented on ARQ-1937:
------------------------------------
It's not technically wrong what you're doing, it's just not what you expected.. :)
The confusing scenario here I guess is that you can OperateOnDeployment which is not deployed, by which means RunAsClient. The deployment has a DeploymentScope/Context regardless of being deployed or not, but since it's not deployed it can only RunAsClient... we could make that Illegal unless you also explicitly specify RunAsClient.
{code}
@Test @OperatesOnDeployment("X") // iIlegal
public void shouldX() {
deployer.deploy("x")
}
@Test @OperatesOnDeployment("X") @RunAsClient // legal
public void shouldX() {
deployer.deploy("x")
}
{code}
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Martin Gencur (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Martin Gencur commented on ARQ-1937:
------------------------------------
Thanks Aslak. It would be nice to have an error message saying that the test is actually running on client side instead of incontainer. Maybe even a warning that one cannot use deploy on the same deployment on which it operates. I don't think I've seen such a warning.
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Aslak Knutsen (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Aslak Knutsen edited comment on ARQ-1937 at 3/23/15 6:55 AM:
-------------------------------------------------------------
This setup is not possible. You can't inside the same test method deploy the deployment you're suppose to be inside and expect the rest of the test method to execute inside it. Essentially both those @Test methods run on the Client side.
You would need to split up deployer.deploy|undeploy in two methods, e.g.:
{code}
@Test @InSequence(1)
public void deployNew() {
deployer.deploy("x");
}
@Test @InSequence(2) @OperatesOnDeployment("x")
public void verifyNew() {
Assert..
}
@Test @InSequence(3)
public void undeployNew() {
deployer.undeploy("x")
}
{code}
was (Author: aslak):
This setup is not possible. You can't inside the same test method deploy the deployment you're suppose to be inside and expect the rest of the test method to execute inside it.
You would need to split up deployer.deploy|undeploy in two methods, e.g.:
{code}
@Test @InSequence(1)
public void deployNew() {
deployer.deploy("x");
}
@Test @InSequence(2) @OperatesOnDeployment("x")
public void verifyNew() {
Assert..
}
@Test @InSequence(3)
public void undeployNew() {
deployer.undeploy("x")
}
{code}
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Aslak Knutsen (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Aslak Knutsen commented on ARQ-1937:
------------------------------------
This setup is not possible. You can't inside the same test method deploy the deployment you're suppose to be inside and expect the rest of the test method to execute inside it.
You would need to split up deployer.deploy|undeploy in two methods, e.g.:
{code}
@Test @InSequence(1)
public void deployNew() {
deployer.deploy("x");
}
@Test @InSequence(2) @OperatesOnDeployment("x")
public void verifyNew() {
Assert..
}
@Test @InSequence(3)
public void undeployNew() {
deployer.undeploy("x")
}
{code}
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Martin Gencur (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Martin Gencur updated ARQ-1937:
-------------------------------
Description:
Steps to reproduce:
1) inject a Deployer via @ArquillianResource
2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
3) run a test method that operates on the deployment
4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
{code}
package com.jboss.datagrid.test.backwardcompatibility;
@RunWith(Arquillian.class)
public class SingleFileStoreBackwardCompatibilityIT {
private DefaultCacheManager dfc;
private String cacheName = "testCache";
private static final String OLD_ISPN = "dep1_with_old_ispn";
private static final String NEW_ISPN = "dep2_with_new_ispn";
private static Map<String, String> storedMap;
@ArquillianResource
Deployer deployer;
@Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
@TargetsContainer("container1")
public static WebArchive createDeploymentOld() {
WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
return jar;
}
@Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
@TargetsContainer("container2")
public static WebArchive createDeploymentNew() {
WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
return jar;
}
private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
.globalJmxStatistics().allowDuplicateDomains(true).
build();
ConfigurationBuilder c = new ConfigurationBuilder();
c.clustering().cacheMode(CacheMode.LOCAL);
File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
if (clearCacheStore && tmpStore.exists()) {
tmpStore.delete();
}
c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
Configuration cnf = c.build();
DefaultCacheManager manager = new DefaultCacheManager(glob);
manager.defineConfiguration(cacheName, cnf);
return manager;
}
@Test
@OperateOnDeployment(OLD_ISPN)
@InSequence(1)
public void testStoreWithOldJDG() throws Exception {
deployer.deploy(OLD_ISPN);
dfc = configureCacheManager(true);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("Version: " + cache.getVersion());
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
storedMap = new HashMap<String, String>();
storedMap.put("k", "v");
cache.put("mapKey", storedMap);
dfc.stop();
deployer.undeploy(OLD_ISPN);
}
@Test
@OperateOnDeployment(NEW_ISPN)
@InSequence(2)
public void testReadWithNewJDG() throws Exception {
deployer.deploy(NEW_ISPN);
dfc = configureCacheManager(false);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
System.out.println("Version: " + cache.getVersion());
assertEquals(storedMap, cache.get("mapKey"));
dfc.stop();
deployer.undeploy(NEW_ISPN);
}
}
{code}
was:
Steps to reproduce:
1) inject a Deployer via @ArquillianResource
2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
3) run a test method that operates on the deployment
4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR.
{code}
package com.jboss.datagrid.test.backwardcompatibility;
@RunWith(Arquillian.class)
public class SingleFileStoreBackwardCompatibilityIT {
private DefaultCacheManager dfc;
private String cacheName = "testCache";
private static final String OLD_ISPN = "dep1_with_old_ispn";
private static final String NEW_ISPN = "dep2_with_new_ispn";
private static Map<String, String> storedMap;
@ArquillianResource
Deployer deployer;
@Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
@TargetsContainer("container1")
public static WebArchive createDeploymentOld() {
WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
return jar;
}
@Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
@TargetsContainer("container2")
public static WebArchive createDeploymentNew() {
WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
return jar;
}
private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
.globalJmxStatistics().allowDuplicateDomains(true).
build();
ConfigurationBuilder c = new ConfigurationBuilder();
c.clustering().cacheMode(CacheMode.LOCAL);
File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
if (clearCacheStore && tmpStore.exists()) {
tmpStore.delete();
}
c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
Configuration cnf = c.build();
DefaultCacheManager manager = new DefaultCacheManager(glob);
manager.defineConfiguration(cacheName, cnf);
return manager;
}
@Test
@OperateOnDeployment(OLD_ISPN)
@InSequence(1)
public void testStoreWithOldJDG() throws Exception {
deployer.deploy(OLD_ISPN);
dfc = configureCacheManager(true);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("Version: " + cache.getVersion());
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
storedMap = new HashMap<String, String>();
storedMap.put("k", "v");
cache.put("mapKey", storedMap);
dfc.stop();
deployer.undeploy(OLD_ISPN);
}
@Test
@OperateOnDeployment(NEW_ISPN)
@InSequence(2)
public void testReadWithNewJDG() throws Exception {
deployer.deploy(NEW_ISPN);
dfc = configureCacheManager(false);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
System.out.println("Version: " + cache.getVersion());
assertEquals(storedMap, cache.get("mapKey"));
dfc.stop();
deployer.undeploy(NEW_ISPN);
}
}
{code}
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR. This is probably due to the fact that the Maven test module has the latest Infinispan libraries defined in <dependencies> while the older version is downloaded separately via Maven dependency plugin.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue with injected deployer
by Martin Gencur (JIRA)
[ https://issues.jboss.org/browse/ARQ-1937?page=com.atlassian.jira.plugin.s... ]
Martin Gencur updated ARQ-1937:
-------------------------------
Summary: Class loading issue with injected deployer (was: Class loading issue injected deployer )
> Class loading issue with injected deployer
> -------------------------------------------
>
> Key: ARQ-1937
> URL: https://issues.jboss.org/browse/ARQ-1937
> Project: Arquillian
> Issue Type: Bug
> Affects Versions: 1.1.1.Final
> Reporter: Martin Gencur
>
> Steps to reproduce:
> 1) inject a Deployer via @ArquillianResource
> 2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
> 3) run a test method that operates on the deployment
> 4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
> 5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
> In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR.
> {code}
> package com.jboss.datagrid.test.backwardcompatibility;
> @RunWith(Arquillian.class)
> public class SingleFileStoreBackwardCompatibilityIT {
> private DefaultCacheManager dfc;
> private String cacheName = "testCache";
> private static final String OLD_ISPN = "dep1_with_old_ispn";
> private static final String NEW_ISPN = "dep2_with_new_ispn";
> private static Map<String, String> storedMap;
> @ArquillianResource
> Deployer deployer;
> @Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
> @TargetsContainer("container1")
> public static WebArchive createDeploymentOld() {
> WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
> System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
> return jar;
> }
> @Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
> @TargetsContainer("container2")
> public static WebArchive createDeploymentNew() {
> WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
> return jar;
> }
> private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
> GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
> .globalJmxStatistics().allowDuplicateDomains(true).
> build();
> ConfigurationBuilder c = new ConfigurationBuilder();
> c.clustering().cacheMode(CacheMode.LOCAL);
> File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
> if (clearCacheStore && tmpStore.exists()) {
> tmpStore.delete();
> }
> c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
> Configuration cnf = c.build();
> DefaultCacheManager manager = new DefaultCacheManager(glob);
> manager.defineConfiguration(cacheName, cnf);
> return manager;
> }
> @Test
> @OperateOnDeployment(OLD_ISPN)
> @InSequence(1)
> public void testStoreWithOldJDG() throws Exception {
> deployer.deploy(OLD_ISPN);
> dfc = configureCacheManager(true);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("Version: " + cache.getVersion());
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> storedMap = new HashMap<String, String>();
> storedMap.put("k", "v");
> cache.put("mapKey", storedMap);
> dfc.stop();
> deployer.undeploy(OLD_ISPN);
> }
> @Test
> @OperateOnDeployment(NEW_ISPN)
> @InSequence(2)
> public void testReadWithNewJDG() throws Exception {
> deployer.deploy(NEW_ISPN);
> dfc = configureCacheManager(false);
> dfc.start();
> Cache<Object, Object> cache = dfc.getCache(cacheName);
> System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
> System.out.println("Version: " + cache.getVersion());
> assertEquals(storedMap, cache.get("mapKey"));
> dfc.stop();
> deployer.undeploy(NEW_ISPN);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1937) Class loading issue injected deployer
by Martin Gencur (JIRA)
Martin Gencur created ARQ-1937:
----------------------------------
Summary: Class loading issue injected deployer
Key: ARQ-1937
URL: https://issues.jboss.org/browse/ARQ-1937
Project: Arquillian
Issue Type: Bug
Affects Versions: 1.1.1.Final
Reporter: Martin Gencur
Steps to reproduce:
1) inject a Deployer via @ArquillianResource
2) declare a deployment as managed=false, use the deployer to deploy artifacts to a managed container
3) run a test method that operates on the deployment
4) check that classes inside the test method have the same classloader as the test class itself (see the code below where I call cache.getClass().getClassLoader())
5) this does not happen when the deployment is managed=true and deployer API is NOT used. In this case, the classes have a different class loader
In the test below, I tried to load different versions of Infinispan in two deployments and test backward compatibility. However, due to this class loading issue the Infinispan classes are of the latest version regardless of libraries bundled in the WAR.
{code}
package com.jboss.datagrid.test.backwardcompatibility;
@RunWith(Arquillian.class)
public class SingleFileStoreBackwardCompatibilityIT {
private DefaultCacheManager dfc;
private String cacheName = "testCache";
private static final String OLD_ISPN = "dep1_with_old_ispn";
private static final String NEW_ISPN = "dep2_with_new_ispn";
private static Map<String, String> storedMap;
@ArquillianResource
Deployer deployer;
@Deployment(name = OLD_ISPN, testable = true, managed = true, order=1)
@TargetsContainer("container1")
public static WebArchive createDeploymentOld() {
WebArchive jar = DeploymentBuilder.createTestArchiveWithPreviousJDG("test1.war", "previous");
System.out.println("ClassLoader: " + SingleFileStoreBackwardCompatibilityIT.class.getClassLoader());
return jar;
}
@Deployment(name = NEW_ISPN, testable = true, managed = true, order=2)
@TargetsContainer("container2")
public static WebArchive createDeploymentNew() {
WebArchive jar = DeploymentBuilder.createTestArchive("test2.war", "current");
return jar;
}
private DefaultCacheManager configureCacheManager(boolean clearCacheStore) throws Exception {
GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault()
.globalJmxStatistics().allowDuplicateDomains(true).
build();
ConfigurationBuilder c = new ConfigurationBuilder();
c.clustering().cacheMode(CacheMode.LOCAL);
File tmpStore = new File("/tmp/cache/" + cacheName + ".dat");
if (clearCacheStore && tmpStore.exists()) {
tmpStore.delete();
}
c.persistence().passivation(false).addSingleFileStore().purgeOnStartup(false).location("/tmp/cache/");
Configuration cnf = c.build();
DefaultCacheManager manager = new DefaultCacheManager(glob);
manager.defineConfiguration(cacheName, cnf);
return manager;
}
@Test
@OperateOnDeployment(OLD_ISPN)
@InSequence(1)
public void testStoreWithOldJDG() throws Exception {
deployer.deploy(OLD_ISPN);
dfc = configureCacheManager(true);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("Version: " + cache.getVersion());
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
storedMap = new HashMap<String, String>();
storedMap.put("k", "v");
cache.put("mapKey", storedMap);
dfc.stop();
deployer.undeploy(OLD_ISPN);
}
@Test
@OperateOnDeployment(NEW_ISPN)
@InSequence(2)
public void testReadWithNewJDG() throws Exception {
deployer.deploy(NEW_ISPN);
dfc = configureCacheManager(false);
dfc.start();
Cache<Object, Object> cache = dfc.getCache(cacheName);
System.out.println("ClassLoader: " + cache.getClass().getClassLoader());
System.out.println("Version: " + cache.getVersion());
assertEquals(storedMap, cache.get("mapKey"));
dfc.stop();
deployer.undeploy(NEW_ISPN);
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (ARQ-1936) Jacoco Extension needs signature removal
by Arcadiy Ivanov (JIRA)
[ https://issues.jboss.org/browse/ARQ-1936?page=com.atlassian.jira.plugin.s... ]
Arcadiy Ivanov updated ARQ-1936:
--------------------------------
Description:
Jacoco normally removes signatures using SignatureRemover. Because Arq Jacoco Extension is dealing with Archives and Assets it invokes instrumenter directly by hand. The normal process of signature removal doesn't happen and corrupted jars fail to be read with errors such as this.
{noformat}
2015-03-21 07:49:08,062 WARN [org.jboss.as.server.deployment] (MSC service thread 1-11) JBAS015852: Could not index class org/jacoco/core/internal/flow/ClassProbesAdapter.class at /content/27ab3865-48b4-48c0-b2b5-dbbfd128ed38.ear/lib/org.jacoco.core-0.7.4.201502262128.jar: java.lang.SecurityException: SHA-256 digest error for org/jacoco/core/internal/flow/ClassProbesAdapter.class
at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier.update(JarVerifier.java:228) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) [rt.jar:1.8.0_40]
at java.io.DataInputStream.readFully(DataInputStream.java:195) [rt.jar:1.8.0_40]
at java.io.DataInputStream.readFully(DataInputStream.java:169) [rt.jar:1.8.0_40]
at org.jboss.jandex.Indexer.verifyMagic(Indexer.java:433) [jandex-1.2.1.Final.jar:1.2.1.Final]
at org.jboss.jandex.Indexer.index(Indexer.java:689) [jandex-1.2.1.Final.jar:1.2.1.Final]
at org.jboss.as.server.deployment.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:100) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
{noformat}
was:
Jacoco normally removes signatures using SignatureRemover. Because Arq Jacoco Extension is dealing with Archives and Assets it invokes instrumenter directly by hand. The normal process of signature removal doesn't happen an corrupted jars fail to be read with errors such as this.
{noformat}
2015-03-21 07:49:08,062 WARN [org.jboss.as.server.deployment] (MSC service thread 1-11) JBAS015852: Could not index class org/jacoco/core/internal/flow/ClassProbesAdapter.class at /content/27ab3865-48b4-48c0-b2b5-dbbfd128ed38.ear/lib/org.jacoco.core-0.7.4.201502262128.jar: java.lang.SecurityException: SHA-256 digest error for org/jacoco/core/internal/flow/ClassProbesAdapter.class
at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier.update(JarVerifier.java:228) [rt.jar:1.8.0_40]
at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) [rt.jar:1.8.0_40]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) [rt.jar:1.8.0_40]
at java.io.DataInputStream.readFully(DataInputStream.java:195) [rt.jar:1.8.0_40]
at java.io.DataInputStream.readFully(DataInputStream.java:169) [rt.jar:1.8.0_40]
at org.jboss.jandex.Indexer.verifyMagic(Indexer.java:433) [jandex-1.2.1.Final.jar:1.2.1.Final]
at org.jboss.jandex.Indexer.index(Indexer.java:689) [jandex-1.2.1.Final.jar:1.2.1.Final]
at org.jboss.as.server.deployment.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:100) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
{noformat}
> Jacoco Extension needs signature removal
> ----------------------------------------
>
> Key: ARQ-1936
> URL: https://issues.jboss.org/browse/ARQ-1936
> Project: Arquillian
> Issue Type: Bug
> Components: Extension - Jacoco
> Environment: WildFly 8.2.0.Final
> Reporter: Arcadiy Ivanov
>
> Jacoco normally removes signatures using SignatureRemover. Because Arq Jacoco Extension is dealing with Archives and Assets it invokes instrumenter directly by hand. The normal process of signature removal doesn't happen and corrupted jars fail to be read with errors such as this.
> {noformat}
> 2015-03-21 07:49:08,062 WARN [org.jboss.as.server.deployment] (MSC service thread 1-11) JBAS015852: Could not index class org/jacoco/core/internal/flow/ClassProbesAdapter.class at /content/27ab3865-48b4-48c0-b2b5-dbbfd128ed38.ear/lib/org.jacoco.core-0.7.4.201502262128.jar: java.lang.SecurityException: SHA-256 digest error for org/jacoco/core/internal/flow/ClassProbesAdapter.class
> at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:218) [rt.jar:1.8.0_40]
> at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241) [rt.jar:1.8.0_40]
> at java.util.jar.JarVerifier.update(JarVerifier.java:228) [rt.jar:1.8.0_40]
> at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:482) [rt.jar:1.8.0_40]
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) [rt.jar:1.8.0_40]
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) [rt.jar:1.8.0_40]
> at java.io.BufferedInputStream.read(BufferedInputStream.java:345) [rt.jar:1.8.0_40]
> at java.io.DataInputStream.readFully(DataInputStream.java:195) [rt.jar:1.8.0_40]
> at java.io.DataInputStream.readFully(DataInputStream.java:169) [rt.jar:1.8.0_40]
> at org.jboss.jandex.Indexer.verifyMagic(Indexer.java:433) [jandex-1.2.1.Final.jar:1.2.1.Final]
> at org.jboss.jandex.Indexer.index(Indexer.java:689) [jandex-1.2.1.Final.jar:1.2.1.Final]
> at org.jboss.as.server.deployment.annotation.ResourceRootIndexer.indexResourceRoot(ResourceRootIndexer.java:100) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
> at org.jboss.as.server.deployment.annotation.AnnotationIndexProcessor.deploy(AnnotationIndexProcessor.java:51) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
> at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 10 months
[JBoss JIRA] (ARQ-1889) CDI Injection not working in WebSphere Containers (V8)
by Gerhard Poul (JIRA)
[ https://issues.jboss.org/browse/ARQ-1889?page=com.atlassian.jira.plugin.s... ]
Gerhard Poul closed ARQ-1889.
-----------------------------
Assignee: Gerhard Poul
Resolution: Cannot Reproduce Bug
> 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)
9 years, 10 months