You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2015/01/21 16:19:05 UTC
[2/2] activemq git commit:
https://issues.apache.org/jira/browse/AMQ-5526 - tidy up karaf-itest,
features amqp now work, still issue with camel and bundlecontext null
https://issues.apache.org/jira/browse/AMQ-5526 - tidy up karaf-itest, features amqp now work,still issue with camel and bundlecontext null
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/25f18ad2
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/25f18ad2
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/25f18ad2
Branch: refs/heads/trunk
Commit: 25f18ad20d16361629335e6ea7256a14a25a6bb9
Parents: 548aa1e
Author: gtully <ga...@gmail.com>
Authored: Wed Jan 21 15:10:09 2015 +0000
Committer: gtully <ga...@gmail.com>
Committed: Wed Jan 21 15:10:09 2015 +0000
----------------------------------------------------------------------
activemq-karaf-itest/pom.xml | 102 ++++-----------
.../karaf/itest/AbstractFeatureTest.java | 127 ++++++++++++-------
.../karaf/itest/AbstractJmsFeatureTest.java | 11 +-
.../itest/ActiveMQAMQPBrokerFeatureTest.java | 35 ++---
.../karaf/itest/ActiveMQBrokerFeatureTest.java | 14 +-
.../itest/ActiveMQBrokerNdCamelFeatureTest.java | 42 +++++-
...ctiveMQBrokerNdExternalCamelFeatureTest.java | 46 ++++---
.../itest/ActiveMQBrokerRuntimeConfigTest.java | 6 +-
.../activemq/karaf/itest/ObrFeatureTest.java | 69 ++++++----
.../apache/activemq/karaf/itest/activemq.xml | 2 +-
.../activemq/karaf/itest/config.properties | 124 ------------------
.../activemq/karaf/itest/custom.properties | 30 -----
.../src/main/resources/features-core.xml | 2 +-
pom.xml | 13 +-
14 files changed, 267 insertions(+), 356 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/pom.xml b/activemq-karaf-itest/pom.xml
index 383959d..ba22bfa 100644
--- a/activemq-karaf-itest/pom.xml
+++ b/activemq-karaf-itest/pom.xml
@@ -40,15 +40,25 @@
<artifactId>activemq-karaf</artifactId>
<scope>test</scope>
</dependency>
+ <!-- xbean gets lost in the pax exam container
+ these are here for versionFromProject manual install for broker feature pax-war dependency-->
<dependency>
- <groupId>org.ops4j.pax.logging</groupId>
- <artifactId>pax-logging-api</artifactId>
- <version>1.6.2</version>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-finder</artifactId>
+ <version>${xbean-version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
- <groupId>org.ops4j.pax.logging</groupId>
- <artifactId>pax-logging-service</artifactId>
- <version>1.6.2</version>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-asm-util</artifactId>
+ <version>${xbean-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-bundleutils</artifactId>
+ <version>${xbean-version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
@@ -68,54 +78,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.ops4j.pax.runner</groupId>
- <artifactId>pax-runner-no-jcl</artifactId>
- <version>${pax-runner-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.swissbox</groupId>
- <artifactId>pax-swissbox-tinybundles</artifactId>
- <version>${pax-tiny-bundle-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-container-remote</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-container-rbc</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-container-rbc-client</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-invoker-junit</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-inject</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-extender-service</artifactId>
- <version>${pax-exam-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-karaf</artifactId>
<version>${pax-exam-version}</version>
@@ -127,26 +89,6 @@
<version>${karaf-version}</version>
<type>tar.gz</type>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.dev</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse</groupId>
- <artifactId>osgi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.configadmin</artifactId>
- <version>${felix-configadmin-version}</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -161,6 +103,18 @@
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-amqp-1-0-common</artifactId>
+ <version>${qpid-jms-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-amqp-1-0-client</artifactId>
+ <version>${qpid-jms-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
<artifactId>qpid-amqp-1-0-client-jms</artifactId>
<version>${qpid-jms-version}</version>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java
index 367feae..a544256 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java
@@ -16,9 +16,12 @@
*/
package org.apache.activemq.karaf.itest;
+import javax.security.auth.Subject;
import org.apache.felix.service.command.CommandProcessor;
import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.features.FeaturesService;
+import org.apache.karaf.jaas.boot.principal.RolePrincipal;
+import org.apache.karaf.jaas.boot.principal.UserPrincipal;
import org.junit.After;
import org.junit.Before;
import org.ops4j.pax.exam.Option;
@@ -27,6 +30,7 @@ import org.ops4j.pax.exam.ProbeBuilder;
import org.ops4j.pax.exam.karaf.options.KarafDistributionOption;
import org.ops4j.pax.exam.karaf.options.LogLevelOption;
import org.ops4j.pax.exam.options.UrlReference;
+import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.slf4j.Logger;
@@ -37,6 +41,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
+import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.concurrent.Callable;
@@ -48,16 +53,13 @@ import java.util.concurrent.TimeUnit;
import static org.ops4j.pax.exam.CoreOptions.*;
import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.*;
public abstract class AbstractFeatureTest {
- private static final Logger LOG = LoggerFactory.getLogger(AbstractFeatureTest.class);
- private static final long ASSERTION_TIMEOUT = 20000L;
- private static final long COMMAND_TIMEOUT = 30000L;
+ public static final Logger LOG = LoggerFactory.getLogger(AbstractFeatureTest.class);
+ public static final long ASSERTION_TIMEOUT = 30000L;
+ public static final long COMMAND_TIMEOUT = 30000L;
public static final String USER = "karaf";
public static final String PASSWORD = "karaf";
@@ -66,13 +68,14 @@ public abstract class AbstractFeatureTest {
try {
File location = new File(AbstractFeatureTest.class.getProtectionDomain().getCodeSource().getLocation().getFile());
basedir = new File(location, "../..").getCanonicalPath();
+ System.err.println("basedir=" + basedir);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Inject
- protected BundleContext bundleContext;
+ BundleContext bundleContext;
@Inject
FeaturesService featuresService;
@@ -97,39 +100,49 @@ public abstract class AbstractFeatureTest {
ExecutorService executor = Executors.newCachedThreadPool();
protected String executeCommand(final String command, final Long timeout, final Boolean silent) {
- String response;
- final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- final PrintStream printStream = new PrintStream(byteArrayOutputStream);
- final CommandSession commandSession = commandProcessor.createSession(System.in, printStream, printStream);
- commandSession.put("APPLICATION", System.getProperty("karaf.name", "root"));
- commandSession.put("USER", USER);
- FutureTask<String> commandFuture = new FutureTask<String>(
- new Callable<String>() {
- public String call() {
- try {
- if (!silent) {
- System.out.println(command);
- System.out.flush();
+ String response;
+ final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ final PrintStream printStream = new PrintStream(byteArrayOutputStream);
+ final CommandSession commandSession = commandProcessor.createSession(System.in, printStream, printStream);
+ commandSession.put("APPLICATION", System.getProperty("karaf.name", "root"));
+ commandSession.put("USER", USER);
+ FutureTask<String> commandFuture = new FutureTask<String>(
+ new Callable<String>() {
+ public String call() {
+
+ Subject subject = new Subject();
+ subject.getPrincipals().add(new UserPrincipal("admin"));
+ subject.getPrincipals().add(new RolePrincipal("admin"));
+ subject.getPrincipals().add(new RolePrincipal("manager"));
+ subject.getPrincipals().add(new RolePrincipal("viewer"));
+ return Subject.doAs(subject, new PrivilegedAction<String>() {
+ @Override
+ public String run() {
+ try {
+ if (!silent) {
+ System.out.println(command);
+ System.out.flush();
+ }
+ commandSession.execute(command);
+ } catch (Exception e) {
+ e.printStackTrace(System.err);
}
- commandSession.execute(command);
- } catch (Exception e) {
- e.printStackTrace(System.err);
+ printStream.flush();
+ return byteArrayOutputStream.toString();
}
- printStream.flush();
- return byteArrayOutputStream.toString();
- }
- });
+ });
+ }});
- try {
- executor.submit(commandFuture);
- response = commandFuture.get(timeout, TimeUnit.MILLISECONDS);
- } catch (Exception e) {
- e.printStackTrace(System.err);
- response = "SHELL COMMAND TIMED OUT: ";
- }
-
- return response;
+ try {
+ executor.submit(commandFuture);
+ response = commandFuture.get(timeout, TimeUnit.MILLISECONDS);
+ } catch (Exception e) {
+ e.printStackTrace(System.err);
+ response = "SHELL COMMAND TIMED OUT: ";
}
+ LOG.info("Execute: " + command + " - Response:" + response);
+ return response;
+ }
protected String executeCommand(final String command) {
return executeCommand(command, COMMAND_TIMEOUT, false);
@@ -141,8 +154,13 @@ public abstract class AbstractFeatureTest {
* @throws Exception
*/
public void installAndAssertFeature(final String feature) throws Throwable {
- System.err.println(executeCommand("features:install " + feature));
- System.err.println(executeCommand("osgi:list -t 0"));
+ executeCommand("osgi:list -t 0");
+ executeCommand("features:install " + feature);
+ assertFeatureInstalled(feature);
+ }
+
+ public void assertFeatureInstalled(final String feature) throws Throwable {
+ executeCommand("osgi:list -t 0");
withinReason(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
@@ -150,9 +168,19 @@ public abstract class AbstractFeatureTest {
return true;
}
});
- }
-
+ }
+ public boolean verifyBundleInstalled(final String bundleName) throws Exception {
+ boolean found = false;
+ for (Bundle bundle: bundleContext.getBundles()) {
+ LOG.debug("Checking: " + bundle.getSymbolicName());
+ if (bundle.getSymbolicName().equals(bundleName)) {
+ found = true;
+ break;
+ }
+ }
+ return found;
+ }
public static String karafVersion() {
return System.getProperty("karafVersion", "unknown-need-env-var");
@@ -160,8 +188,10 @@ public abstract class AbstractFeatureTest {
public static UrlReference getActiveMQKarafFeatureUrl() {
String type = "xml/features";
- return mavenBundle().groupId("org.apache.activemq").
+ UrlReference urlReference = mavenBundle().groupId("org.apache.activemq").
artifactId("activemq-karaf").versionAsInProject().type(type);
+ System.err.println("FeatureURL: " + urlReference.getURL());
+ return urlReference;
}
// for use from a probe
@@ -185,10 +215,10 @@ public abstract class AbstractFeatureTest {
public static Option[] configureBrokerStart(Option[] existingOptions, String xmlConfig) {
existingOptions = append(
- replaceConfigurationFile("etc/org.apache.activemq.server-default.cfg", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/org.apache.activemq.server-default.cfg")),
+ replaceConfigurationFile("etc/activemq.xml", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/" + xmlConfig + ".xml")),
existingOptions);
return append(
- replaceConfigurationFile("etc/activemq.xml", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/" + xmlConfig + ".xml")),
+ replaceConfigurationFile("etc/org.apache.activemq.server-default.cfg", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/org.apache.activemq.server-default.cfg")),
existingOptions);
}
@@ -212,15 +242,14 @@ public abstract class AbstractFeatureTest {
Option[] options =
new Option[]{
karafDistributionConfiguration().frameworkUrl(
- maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("tar.gz").version(karafVersion()))
- //This version doesn't affect the version of karaf we use
+ maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("tar.gz").versionAsInProject())
.karafVersion(karafVersion()).name("Apache Karaf")
.unpackDirectory(new File("target/paxexam/unpack/")),
KarafDistributionOption.keepRuntimeFolder(),
- logLevel(LogLevelOption.LogLevel.INFO),
- replaceConfigurationFile("etc/config.properties", new File(basedir+"/target/classes/org/apache/activemq/karaf/itest/config.properties")),
- replaceConfigurationFile("etc/custom.properties", new File(basedir+"/src/test/resources/org/apache/activemq/karaf/itest/custom.properties")),
+ logLevel(LogLevelOption.LogLevel.WARN),
+ editConfigurationFilePut("etc/config.properties", "karaf.startlevel.bundle", "50"),
+ //debugConfiguration("5005", true),
features(getActiveMQKarafFeatureUrl(), f.toArray(new String[f.size()]))};
return options;
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractJmsFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractJmsFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractJmsFeatureTest.java
index 9e38e86..8a921b9 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractJmsFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractJmsFeatureTest.java
@@ -22,7 +22,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import javax.jms.Connection;
-import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
@@ -31,6 +30,10 @@ import org.apache.activemq.ActiveMQConnectionFactory;
public abstract class AbstractJmsFeatureTest extends AbstractFeatureTest {
public static void copyFile(File from, File to) throws IOException {
+ if (!to.exists()) {
+ System.err.println("Creating new file for: "+ to);
+ to.createNewFile();
+ }
FileChannel in = new FileInputStream(from).getChannel();
FileChannel out = new FileOutputStream(to).getChannel();
try {
@@ -50,7 +53,7 @@ public abstract class AbstractJmsFeatureTest extends AbstractFeatureTest {
}
}
- protected String consumeMessage(String nameAndPayload) throws Exception {
+ protected String consumeMessage(String nameAndPayload) throws Throwable {
Connection connection = getConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(session.createQueue(nameAndPayload));
@@ -60,14 +63,14 @@ public abstract class AbstractJmsFeatureTest extends AbstractFeatureTest {
return message.getText();
}
- protected void produceMessage(String nameAndPayload) throws Exception {
+ protected void produceMessage(String nameAndPayload) throws Throwable{
Connection connection = getConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
session.createProducer(session.createQueue(nameAndPayload)).send(session.createTextMessage(nameAndPayload));
connection.close();
}
- protected Connection getConnection() throws JMSException {
+ protected Connection getConnection() throws Throwable {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
Connection connection = factory.createConnection(AbstractFeatureTest.USER, AbstractFeatureTest.PASSWORD);
connection.start();
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java
index aa080c1..f1b393b 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java
@@ -17,15 +17,15 @@
package org.apache.activemq.karaf.itest;
import org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl;
+import org.junit.Ignore;
+import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
import javax.jms.Connection;
-import javax.jms.JMSException;
@RunWith(PaxExam.class)
public class ActiveMQAMQPBrokerFeatureTest extends ActiveMQBrokerFeatureTest {
@@ -34,33 +34,38 @@ public class ActiveMQAMQPBrokerFeatureTest extends ActiveMQBrokerFeatureTest {
@Configuration
public static Option[] configure() {
Option[] activeMQOptions = configure("activemq");
-
- MavenArtifactProvisionOption qpidClient = CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-client").versionAsInProject();
- MavenArtifactProvisionOption qpidClientJms = CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-client-jms").versionAsInProject();
- MavenArtifactProvisionOption qpidCommon = CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-common").versionAsInProject();
- MavenArtifactProvisionOption geronimoJms = CoreOptions.mavenBundle("org.apache.geronimo.specs", "geronimo-jms_1.1_spec").versionAsInProject();
- MavenArtifactProvisionOption geronimoJta = CoreOptions.mavenBundle("org.apache.geronimo.specs", "geronimo-jta_1.1_spec","1.1.1");
+ final String fragmentHost = "qpid-amqp-jms-client";
+ Option qpidClient = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-client").versionAsInProject().getURL().toString() + "$Bundle-SymbolicName=qpid-amqp-client&Fragment-Host=" + fragmentHost);
+ Option qpidClientJms = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-client-jms").versionAsInProject().getURL().toString() + "$Bundle-SymbolicName=" + fragmentHost);
+ Option qpidCommon = CoreOptions.wrappedBundle(CoreOptions.mavenBundle("org.apache.qpid", "qpid-amqp-1-0-common").versionAsInProject().getURL().toString());
Option[] options = append(qpidClient, activeMQOptions);
options = append(qpidClientJms, options);
options = append(qpidCommon, options);
- options = append(geronimoJms, options);
- options = append(geronimoJta, options);
Option[] configuredOptions = configureBrokerStart(options);
return configuredOptions;
}
@Override
- protected Connection getConnection() throws JMSException {
- ConnectionFactoryImpl factory = new ConnectionFactoryImpl("localhost", AMQP_PORT, AbstractFeatureTest.USER, AbstractFeatureTest.PASSWORD);
- Connection connection = factory.createConnection();
- connection.start();
+ protected Connection getConnection() throws Throwable {
+ ConnectionFactoryImpl factory = new ConnectionFactoryImpl("localhost", AMQP_PORT, AbstractFeatureTest.USER, AbstractFeatureTest.PASSWORD);
+ Connection connection = null;
+ ClassLoader originalLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ // ensure service loader uses a loader that can find the impl - not the system classpath
+ Thread.currentThread().setContextClassLoader(factory.getClass().getClassLoader());
+ connection = factory.createConnection();
+ connection.start();
+ } finally {
+ Thread.currentThread().setContextClassLoader(originalLoader);
+ }
return connection;
}
- @Override
+ @Ignore
+ @Test(timeout = 5 * 60 * 1000)
public void testTemporaryDestinations() throws Throwable {
// ignore until we have temporary destination are working in amqp
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java
index f16d235..b6e75c9 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerFeatureTest.java
@@ -18,7 +18,6 @@ package org.apache.activemq.karaf.itest;
import java.util.concurrent.Callable;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
@@ -42,7 +41,7 @@ public class ActiveMQBrokerFeatureTest extends AbstractJmsFeatureTest {
return configureBrokerStart(configure("activemq"));
}
- @Test(timeout=2 * 60 * 1000)
+ @Test(timeout=5 * 60 * 1000)
public void test() throws Throwable {
withinReason(new Callable<Boolean>() {
@@ -66,8 +65,15 @@ public class ActiveMQBrokerFeatureTest extends AbstractJmsFeatureTest {
final String nameAndPayload = String.valueOf(System.currentTimeMillis());
produceMessage(nameAndPayload);
- System.err.println(executeCommand("activemq:bstat").trim());
- assertEquals("JMS_BODY_FIELD:JMSText = " + nameAndPayload, executeCommand("activemq:browse --amqurl tcp://localhost:61616 --user karaf --password karaf -Vbody " + nameAndPayload).trim());
+ executeCommand("activemq:bstat", COMMAND_TIMEOUT, false).trim();
+
+ withinReason(new Callable<Boolean>(){
+ @Override
+ public Boolean call() throws Exception {
+ assertEquals("JMS_BODY_FIELD:JMSText = " + nameAndPayload, executeCommand("activemq:browse --amqurl tcp://localhost:61616 --user karaf --password karaf -Vbody " + nameAndPayload).trim());
+ return true;
+ }
+ });
assertEquals("got our message", nameAndPayload, consumeMessage(nameAndPayload));
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
index dfb429d..a9a0d66 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
@@ -16,7 +16,10 @@
*/
package org.apache.activemq.karaf.itest;
+import java.io.File;
+import java.util.Date;
import java.util.concurrent.Callable;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.MavenUtils;
@@ -27,23 +30,45 @@ import org.ops4j.pax.exam.junit.PaxExam;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
@RunWith(PaxExam.class)
public class ActiveMQBrokerNdCamelFeatureTest extends AbstractJmsFeatureTest {
@Configuration
public static Option[] configure() {
- Option[] baseOptions = configure("activemq", "activemq-camel");
- return configureBrokerStart(append(features(getCamelFeatureUrl(
- MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")
- ), "activemq-camel"), baseOptions), "activemq-nd-camel");
+ return append(
+ editConfigurationFilePut("etc/system.properties", "camel.version", MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")),
+ configure("activemq"));
}
+ @Ignore("java.lang.IllegalArgumentException: BundleContext must be specified - needs investigation")
@Test(timeout = 2 * 60 * 1000)
public void test() throws Throwable {
System.err.println(executeCommand("osgi:list").trim());
+ assertFeatureInstalled("activemq");
+
+ executeCommand("features:addurl " + getCamelFeatureUrl());
+ installAndAssertFeature("activemq-camel");
+
+ withinReason(new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ assertTrue("activemq-camel bundle installed", verifyBundleInstalled("org.apache.activemq.activemq-camel"));
+ return true;
+ }
+ });
+
+ // start broker with embedded camel route
+ String karafDir = System.getProperty("karaf.base");
+ File target = new File(karafDir + "/etc/activemq.xml");
+ copyFile(new File(basedir + "/../../../src/test/resources/org/apache/activemq/karaf/itest/activemq-nd-camel.xml"), target);
+ target = new File(karafDir + "/etc/org.apache.activemq.server-default.cfg");
+ copyFile(new File(basedir + "/../../../src/test/resources/org/apache/activemq/karaf/itest/org.apache.activemq.server-default.cfg"), target);
+
withinReason(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
@@ -61,10 +86,15 @@ public class ActiveMQBrokerNdCamelFeatureTest extends AbstractJmsFeatureTest {
}
});
- System.err.println(executeCommand("activemq:bstat").trim());
+ withinReason(new Callable<Boolean>(){
+ @Override
+ public Boolean call() throws Exception {
+ assertTrue("we have camel consumers", executeCommand("activemq:dstat").trim().contains("camel_in"));
+ return true;
+ }
+ });
// produce and consume
- final String nameAndPayload = String.valueOf(System.currentTimeMillis());
produceMessage("camel_in");
assertEquals("got our message", "camel_in", consumeMessage("camel_out"));
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
index e08bed0..615da95 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
@@ -19,37 +19,38 @@ package org.apache.activemq.karaf.itest;
import java.io.File;
import java.util.concurrent.Callable;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.MavenUtils;
import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.Configuration;
-import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.ops4j.pax.exam.junit.PaxExam;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
+import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
-@RunWith(JUnit4TestRunner.class)
+@RunWith(PaxExam.class)
public class ActiveMQBrokerNdExternalCamelFeatureTest extends AbstractJmsFeatureTest {
@Configuration
public static Option[] configure() {
+ Option[] baseOptions = configure("activemq");
// copy camel.xml into a temporary directory in karaf, so we later can hot-deploy it
- Option[] baseOptions = append(
- replaceConfigurationFile("data/tmp/camel.xml", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/camel.xml")),
- configure("activemq", "activemq-camel"));
- return configureBrokerStart(append(features(getCamelFeatureUrl(
- MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")
- ), "activemq-camel"), baseOptions));
+ baseOptions = append(replaceConfigurationFile("data/tmp/camel.xml", new File(basedir + "/src/test/resources/org/apache/activemq/karaf/itest/camel.xml")), baseOptions);
+ baseOptions = append(editConfigurationFilePut("etc/system.properties", "camel.version", MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")), baseOptions);
+ return configureBrokerStart(baseOptions);
}
+ @Ignore("camel.xml from auto deploy directory does not seem to get picked up, no idea why atm")
@Test(timeout = 2 * 60 * 1000)
public void test() throws Throwable {
- System.err.println(executeCommand("features:list").trim());
- System.err.println(executeCommand("osgi:list").trim());
+ assertFeatureInstalled("activemq");
+ executeCommand("features:addurl " + getCamelFeatureUrl());
+ installAndAssertFeature("activemq-camel");
withinReason(new Callable<Boolean>() {
@Override
@@ -68,6 +69,16 @@ public class ActiveMQBrokerNdExternalCamelFeatureTest extends AbstractJmsFeature
}
});
+ withinReason(new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ assertTrue("activemq-camel bundle installed", verifyBundleInstalled("org.apache.activemq.activemq-camel"));
+ return true;
+ }
+ });
+
+ assertFeatureInstalled("activemq-camel");
+
System.err.println(executeCommand("activemq:bstat").trim());
// hot deploy the camel.xml file by copying it to the deploy directory
@@ -75,11 +86,16 @@ public class ActiveMQBrokerNdExternalCamelFeatureTest extends AbstractJmsFeature
String karafDir = System.getProperty("karaf.base");
System.err.println("Hot deploying Camel application");
copyFile(new File(karafDir + "/data/tmp/camel.xml"), new File(karafDir + "/deploy/camel.xml"));
- Thread.sleep(3 * 1000);
- System.err.println("Continuing...");
+
+ withinReason(new Callable<Boolean>(){
+ @Override
+ public Boolean call() throws Exception {
+ assertTrue("we have camel consumers", executeCommand("activemq:dstat").trim().contains("camel_in"));
+ return true;
+ }
+ });
// produce and consume
- final String nameAndPayload = String.valueOf(System.currentTimeMillis());
produceMessage("camel_in");
assertEquals("got our message", "camel_in", consumeMessage("camel_out"));
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerRuntimeConfigTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerRuntimeConfigTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerRuntimeConfigTest.java
index a9e78b9..b07ef7e 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerRuntimeConfigTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerRuntimeConfigTest.java
@@ -24,8 +24,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.MavenUtils;
import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.Configuration;
-import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.junit.PaxExam;
import static org.junit.Assert.assertEquals;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertTrue;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceConfigurationFile;
-@RunWith(JUnit4TestRunner.class)
+@RunWith(PaxExam.class)
public class ActiveMQBrokerRuntimeConfigTest extends AbstractJmsFeatureTest {
@Configuration
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java
index 0260dde..26fb9fb 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java
@@ -16,46 +16,69 @@
*/
package org.apache.activemq.karaf.itest;
-import javax.jms.Destination;
+import java.util.concurrent.Callable;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.MavenUtils;
import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.Configuration;
-import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
+import static org.junit.Assert.assertTrue;
import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
-@RunWith(JUnit4TestRunner.class)
+@RunWith(PaxExam.class)
public class ObrFeatureTest extends AbstractFeatureTest {
- @Configuration
- public static Option[] configure() {
- return append(
+ @Configuration
+ public static Option[] configure() {
+ Option[] options = append(
editConfigurationFilePut("etc/system.properties", "camel.version", MavenUtils.getArtifactVersion("org.apache.camel.karaf", "apache-camel")),
configure("obr"));
- }
+ // can't see where these deps die in a pax-web container - vanilla distro unpack can install war feature ok
+ options = append(CoreOptions.mavenBundle("org.apache.xbean", "xbean-bundleutils").versionAsInProject(), options);
+ options = append(CoreOptions.mavenBundle("org.apache.xbean", "xbean-asm-util").versionAsInProject(), options);
+ return append(CoreOptions.mavenBundle("org.apache.xbean", "xbean-finder").versionAsInProject(), options);
+ }
- @Test(timeout=5 * 60 * 1000)
- public void testClient() throws Throwable {
- installAndAssertFeature("activemq-client");
- }
- @Test(timeout=5 * 60 * 1000)
- public void testActiveMQ() throws Throwable {
- installAndAssertFeature("activemq");
- }
+ @Test(timeout=5 * 60 * 1000)
+ public void testWar() throws Throwable {
+ // note xbean deps manually installed above, should not be needed
+ installAndAssertFeature("war");
+ }
+
+ @Test(timeout=5 * 60 * 1000)
+ public void testClient() throws Throwable {
+ installAndAssertFeature("activemq-client");
+ }
@Test(timeout=5 * 60 * 1000)
- public void testBroker() throws Throwable {
- installAndAssertFeature("activemq-broker");
- }
+ public void testActiveMQ() throws Throwable {
+ installAndAssertFeature("activemq");
+ }
+
+ @Test(timeout=5 * 60 * 1000)
+ public void testBroker() throws Throwable {
+ // ensure pax-war feature deps are there for web-console
+ withinReason(new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ assertTrue("xbean finder bundle installed", verifyBundleInstalled("org.apache.xbean.finder"));
+ return true;
+ }
+ });
+
+ installAndAssertFeature("activemq-broker");
+ }
@Test(timeout=5 * 60 * 1000)
- public void testCamel() throws Throwable {
- System.err.println(executeCommand("features:addurl " + getCamelFeatureUrl()));
- installAndAssertFeature("activemq-camel");
- }
+ public void testCamel() throws Throwable {
+ executeCommand("features:addurl " + getCamelFeatureUrl());
+ installAndAssertFeature("activemq-camel");
+ }
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/activemq.xml
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/activemq.xml b/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/activemq.xml
index 714b9fc..2146063 100644
--- a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/activemq.xml
+++ b/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/activemq.xml
@@ -88,7 +88,7 @@
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000"/>
<transportConnector name="http" uri="http://0.0.0.0:61626"/>
- <transportConnector name="amqp" uri="amqp://0.0.0.0:61636"/>
+ <transportConnector name="amqp" uri="amqp://0.0.0.0:61636?transport.transformer=jms"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61646"/>
<transportConnector name="mqtt" uri="ws://0.0.0.0:61656"/>
</transportConnectors>
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/config.properties
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/config.properties b/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/config.properties
deleted file mode 100644
index 1a4892f..0000000
--- a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/config.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-################################################################################
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-################################################################################
-
-# FIXING PAX-EXAM BUG
-
-#
-# This file lists Karaf default settings for this particular version of Karaf.
-# For easier maintenance when upgrading Karaf and to better document which
-# default values have changed, it is recommended to place any changes to
-# these values in a custom.properties file in the same folder as this file.
-# Each value specified in custom.properties will override the default value
-# here.
-#
-
-#
-# Properties file inclusions (as a space separated list of relative paths)
-# Included files will override the values specified in this file
-# NB: ${includes} properties files are mandatory, it means that Karaf will not start
-# if the include file is not found
-#
-${includes} = jre.properties custom.properties
-
-#
-# Properties file inclusions (as a space separated list of relative paths)
-# Included files will override the values specified in this file
-# NB: ${optionals} properties files are optionals, it means that Karaf will just
-# display a warning message but the bootstrap will be performed
-#
-# ${optionals} = my.properties
-
-
-#
-# Framework selection properties
-#
-karaf.framework=felix
-
-#
-# Location of the OSGi frameworks
-#
-karaf.framework.felix=${karaf.default.repository}/org/apache/felix/org.apache.felix.framework/${felix-framework-version}/org.apache.felix.framework-${felix-framework-version}.jar
-
-#
-# Framework config properties.
-#
-org.osgi.framework.system.packages= \
- org.osgi.framework.startlevel;uses:="org.osgi.framework";version="1.0", \
- org.osgi.framework.wiring;uses:="org.osgi.resource,org.osgi.framework";version="1.1", \
- org.osgi.framework.hooks.bundle;uses:="org.osgi.framework";version="1.1", \
- org.osgi.framework.hooks.service;uses:="org.osgi.framework";version="1.1", \
- org.osgi.framework.hooks.resolver;uses:="org.osgi.framework.wiring";version="1.0", \
- org.osgi.framework.launch;uses:="org.osgi.framework";version="1.1", \
- org.osgi.framework.namespace;uses:="org.osgi.resource";version="1.0", \
- org.osgi.framework;version="1.7",\
- org.osgi.framework.hooks.weaving;uses:="org.osgi.framework.wiring";version="1.0",\
- org.osgi.resource;version="1.0",org.osgi.service.url;version="1.0",\
- org.osgi.service.startlevel;uses:="org.osgi.framework";version="1.1",\
- org.osgi.service.packageadmin;uses:="org.osgi.framework";version="1.2",\
- org.osgi.service.url;version="1.0", \
- org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
- org.apache.karaf.jaas.boot;version="${karaf-version}", \
- org.apache.karaf.jaas.boot.principal;version="${karaf-version}", \
- org.apache.karaf.management.boot;version="${karaf-version}", \
- org.apache.karaf.version;version="${karaf-version}", \
- ${jre-${java.specification.version}}
-
-# Extra packages appended after standard packages
-# org.osgi.framework.system.packages.extra=
-
-# javax.transaction is needed to avoid class loader constraint violation when using javax.sql
-org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,sun.*,com.sun.*,javax.transaction,javax.transaction.*
-
-# OSGi Execution Environment
-org.osgi.framework.executionenvironment=J2SE-1.7,JavaSE-1.7,J2SE-1.6,JavaSE-1.6,J2SE-1.5,JavaSE-1.5,J2SE-1.4,JavaSE-1.4,J2SE-1.3,JavaSE-1.3,J2SE-1.2,,JavaSE-1.2,CDC-1.1/Foundation-1.1,CDC-1.0/Foundation-1.0,J2ME,OSGi/Minimum-1.1,OSGi/Minimum-1.0
-
-# Set the parent classloader for the bundle to the classloader that loads the Framework (i.e. everything in lib/*.jar)
-org.osgi.framework.bundle.parent=framework
-
-# To enable the use of the startup.properties file to control the start level:
-karaf.auto.start=startup.properties
-
-org.osgi.framework.startlevel.beginning=100
-karaf.startlevel.bundle=80
-
-karaf.shutdown.port.file=${karaf.data}/port
-
-#
-# FileMonitor properties
-#
-felix.fileinstall.dir = ${karaf.base}/etc
-felix.fileinstall.filter = .*\\.cfg
-felix.fileinstall.poll = 1000
-felix.fileinstall.noInitialDelay = true
-felix.fileinstall.log.level = 3
-
-#
-# Delay for writing the framework state to disk in equinox
-# must be >= 1000 and <= 1800000
-#
-eclipse.stateSaveDelayInterval = 1000
-
-#
-# OBR Repository list
-# This property will be modified by the obr:addUrl and obr:removeUrl commands.
-#
-obr.repository.url =
-
-karaf.delay.console=false
-
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/custom.properties
----------------------------------------------------------------------
diff --git a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/custom.properties b/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/custom.properties
deleted file mode 100644
index fbdb62a..0000000
--- a/activemq-karaf-itest/src/test/resources/org/apache/activemq/karaf/itest/custom.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-################################################################################
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-################################################################################
-
-#
-# All the values specified here will override the default values given
-# in config.properties.
-#
-
-karaf.systemBundlesStartLevel=50
-
-#
-# You can place any customized configuration here.
-#
-
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/activemq-karaf/src/main/resources/features-core.xml
----------------------------------------------------------------------
diff --git a/activemq-karaf/src/main/resources/features-core.xml b/activemq-karaf/src/main/resources/features-core.xml
index 23c6c59..16dc95d 100644
--- a/activemq-karaf/src/main/resources/features-core.xml
+++ b/activemq-karaf/src/main/resources/features-core.xml
@@ -22,7 +22,7 @@
<!-- 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.1,4)">spring</feature>
+ <feature version="[3.2,4)">spring</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>
http://git-wip-us.apache.org/repos/asf/activemq/blob/25f18ad2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 937c0e4..7b00301 100755
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,7 @@
<junit-version>4.11</junit-version>
<hamcrest-version>1.3</hamcrest-version>
<jxta-version>2.0</jxta-version>
- <karaf-version>2.3.3</karaf-version>
+ <karaf-version>2.4.1</karaf-version>
<leveldb-api-version>0.6</leveldb-api-version>
<leveldb-version>0.6</leveldb-version>
<leveldbjni-version>1.8</leveldbjni-version>
@@ -126,18 +126,17 @@
<xmlresolver-bundle-version>1.2_5</xmlresolver-bundle-version>
<xpp3-version>1.1.4c</xpp3-version>
<xstream-version>1.4.7</xstream-version>
- <xbean-version>3.16</xbean-version>
+ <xbean-version>3.18</xbean-version>
<xerces-version>2.11.0</xerces-version>
<jaxb-basics-version>0.6.4</jaxb-basics-version>
<stompjms-version>1.19</stompjms-version>
- <pax-exam-version>3.4.0</pax-exam-version>
+ <pax-exam-version>4.3.0</pax-exam-version>
<paxexam-karaf-container-version>1.0.0</paxexam-karaf-container-version>
<pax-runner-version>1.6.1</pax-runner-version>
- <pax-tiny-bundle-version>1.3.1</pax-tiny-bundle-version>
- <pax-url-version>1.5.2</pax-url-version>
- <felix-configadmin-version>1.4.0</felix-configadmin-version>
- <felix-framework-version>4.0.3</felix-framework-version>
+ <pax-url-version>2.3.0</pax-url-version>
+ <felix-configadmin-version>1.8.0</felix-configadmin-version>
+ <felix-framework-version>4.4.1</felix-framework-version>
<site-repo-url>scpexe://people.apache.org/www/activemq.apache.org/maven/</site-repo-url>
<source-version>1.7</source-version>