mirror of https://github.com/apache/activemq.git
AMQ-6301: Changed activemq-osgi so that it embeds the spring-dm bundles
so that we can avoid loading the spring-dm feature which causes Spring version conflicts.
This commit is contained in:
parent
c9c05eb866
commit
927bef7345
|
@ -18,6 +18,7 @@ package org.apache.activemq.karaf.itest;
|
|||
|
||||
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.ops4j.pax.exam.Configuration;
|
||||
|
@ -25,6 +26,8 @@ import org.ops4j.pax.exam.CoreOptions;
|
|||
import org.ops4j.pax.exam.MavenUtils;
|
||||
import org.ops4j.pax.exam.Option;
|
||||
import org.ops4j.pax.exam.junit.PaxExam;
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
|
||||
|
||||
@RunWith(PaxExam.class)
|
||||
|
@ -67,4 +70,56 @@ public class ObrFeatureTest extends AbstractFeatureTest {
|
|||
executeCommand("feature:repo-add " + getCamelFeatureUrl());
|
||||
installAndAssertFeature("activemq-camel");
|
||||
}
|
||||
|
||||
@Test(timeout=5 * 60 * 1000)
|
||||
public void testClientWithSpring31() throws Throwable {
|
||||
executeCommand("feature:install spring/3.1.4.RELEASE");
|
||||
installAndAssertFeature("activemq-client");
|
||||
verifyBundleInstalledAndRegisteredServices("activemq-osgi", 2);
|
||||
}
|
||||
|
||||
@Test(timeout=5 * 60 * 1000)
|
||||
public void testClientWithSpring32() throws Throwable {
|
||||
executeCommand("feature:install spring/3.2.14.RELEASE_1");
|
||||
installAndAssertFeature("activemq-client");
|
||||
verifyBundleInstalledAndRegisteredServices("activemq-osgi", 2);
|
||||
}
|
||||
|
||||
@Test(timeout=5 * 60 * 1000)
|
||||
public void testClientWithSpring40() throws Throwable {
|
||||
executeCommand("feature:install spring/4.0.7.RELEASE_3");
|
||||
installAndAssertFeature("activemq-client");
|
||||
verifyBundleInstalledAndRegisteredServices("activemq-osgi", 2);
|
||||
}
|
||||
|
||||
@Test(timeout=5 * 60 * 1000)
|
||||
public void testClientWithSpring41() throws Throwable {
|
||||
executeCommand("feature:install spring/4.1.7.RELEASE_2");
|
||||
installAndAssertFeature("activemq-client");
|
||||
verifyBundleInstalledAndRegisteredServices("activemq-osgi", 2);
|
||||
}
|
||||
|
||||
@Test(timeout=5 * 60 * 1000)
|
||||
public void testClientWithSpring42() throws Throwable {
|
||||
executeCommand("feature:install spring/4.2.2.RELEASE_1");
|
||||
installAndAssertFeature("activemq-client");
|
||||
verifyBundleInstalledAndRegisteredServices("activemq-osgi", 2);
|
||||
}
|
||||
|
||||
public boolean verifyBundleInstalledAndRegisteredServices(final String bundleName, final int numberOfServices) throws Exception {
|
||||
boolean found = false;
|
||||
for (final Bundle bundle : bundleContext.getBundles()) {
|
||||
LOG.debug("Checking: " + bundle.getSymbolicName());
|
||||
if (bundle.getSymbolicName().contains(bundleName)) {
|
||||
Assert.assertEquals(Bundle.ACTIVE, bundle.getState());
|
||||
// Assert that the bundle has registered some services via blueprint
|
||||
Assert.assertNotNull(bundle.getRegisteredServices());
|
||||
// Assert that the bundle has registered the correct number of services
|
||||
Assert.assertEquals(numberOfServices, bundle.getRegisteredServices().length);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return found;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
<!-- Bundles needed if only client will be deployed in the container -->
|
||||
<feature name="activemq-client" description="ActiveMQ client libraries" version="${project.version}" resolver="(obr)" start-level="50">
|
||||
<feature version="[3.2,4)">spring</feature>
|
||||
<feature>spring-dm</feature>
|
||||
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1</bundle>
|
||||
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
|
||||
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
org.fusesource.leveldbjni*;resolution:=optional,
|
||||
org.fusesource.hawtjni*;resolution:=optional,
|
||||
org.springframework.jms*;version="[3,5)";resolution:=optional,
|
||||
org.springframework.osgi*;version="[1,4]";resolution:=optional,
|
||||
org.springframework.transaction*;version="[3,5)";resolution:=optional,
|
||||
org.springframework*;version="[3,5)";resolution:=optional,
|
||||
org.xmlpull*;resolution:=optional,
|
||||
|
@ -86,6 +85,7 @@
|
|||
org.apache.activemq.web*;version=${project.version};-noimport:=true;-split-package:=merge-first,
|
||||
</activemq.osgi.export>
|
||||
<activemq.osgi.private.pkg>
|
||||
org.springframework.osgi*,
|
||||
org.fusesource.hawtdispatch*,
|
||||
org.fusesource.mqtt*,
|
||||
org.fusesource.hawtbuf*,
|
||||
|
@ -303,9 +303,9 @@
|
|||
<instructions>
|
||||
<Bundle-Activator>org.apache.activemq.util.osgi.Activator</Bundle-Activator>
|
||||
<Embed-Dependency>
|
||||
*;
|
||||
groupId=org.apache.activemq;inline=META-INF/services/*,
|
||||
groupId=org.apache.qpid;inline=META-INF/services/*
|
||||
*;groupId=org.apache.activemq;inline=META-INF/services/*,
|
||||
*;groupId=org.apache.qpid;inline=META-INF/services/*,
|
||||
*;groupId=org.springframework.osgi;inline=true
|
||||
<!--
|
||||
groupId=org.fusesource.leveldbjni;inline=META-INF/native/*,
|
||||
groupId=org.xerial.snappy;inline=org/xerial/snappy/*
|
||||
|
|
Loading…
Reference in New Issue