Hi Gary, This patch introduce a new Package Import like org.apache.commons.net.ftp;version="[3.2,4)", for activemq-osgi bundle so we also need add commons-net 3.2 bundle to activemq-client feature.
Thanks ------------- Freeman(Yue) Fang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://fusesource.com | http://www.redhat.com/ Twitter: freemanfang Blog: http://freemanfang.blogspot.com http://blog.sina.com.cn/u/1473905042 weibo: @Freeman小屋 On 2013-2-27, at 上午8:36, [email protected] wrote: > Author: gtully > Date: Wed Feb 27 00:36:48 2013 > New Revision: 1450550 > > URL: http://svn.apache.org/r1450550 > Log: > https://issues.apache.org/jira/browse/AMQ-4341 - apply patch from ioannis > with thanks > > Added: > > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > (with props) > Modified: > > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java > activemq/trunk/activemq-karaf/src/main/resources/features.xml > activemq/trunk/activemq-leveldb-store/pom.xml > activemq/trunk/activemq-osgi/pom.xml > activemq/trunk/pom.xml > > Modified: > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java > URL: > http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java?rev=1450550&r1=1450549&r2=1450550&view=diff > ============================================================================== > --- > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java > (original) > +++ > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/AbstractFeatureTest.java > Wed Feb 27 00:36:48 2013 > @@ -18,6 +18,7 @@ package org.apache.activemq.karaf.itest; > > import org.apache.felix.service.command.CommandProcessor; > import org.apache.felix.service.command.CommandSession; > +import org.apache.karaf.features.FeaturesService; > import org.junit.After; > import org.junit.Before; > import org.openengsb.labs.paxexam.karaf.options.KarafDistributionOption; > @@ -47,6 +48,7 @@ import java.util.concurrent.TimeUnit; > import static > org.openengsb.labs.paxexam.karaf.options.KarafDistributionOption.karafDistributionConfiguration; > import static > org.openengsb.labs.paxexam.karaf.options.KarafDistributionOption.replaceConfigurationFile; > import static org.ops4j.pax.exam.CoreOptions.*; > +import static org.junit.Assert.assertTrue; > > public abstract class AbstractFeatureTest { > > @@ -69,6 +71,9 @@ public abstract class AbstractFeatureTes > @Inject > protected BundleContext bundleContext; > > + @Inject > + FeaturesService featuresService; > + > @Before > public void setUp() throws Exception { > } > @@ -127,8 +132,20 @@ public abstract class AbstractFeatureTes > return executeCommand(command, COMMAND_TIMEOUT, false); > } > > + /** > + * Installs a feature and asserts that feature is properly installed. > + * @param feature > + * @throws Exception > + */ > + public void installAndAssertFeature(String feature) throws Exception { > + System.err.println(executeCommand("features:install " + > feature)); > + System.err.println(executeCommand("osgi:list -t 0")); > + assertTrue("Expected " + feature + " feature to be installed.", > featuresService.isInstalled(featuresService.getFeature(feature))); > + } > + > + > > - public static String karafVersion() { > + public static String karafVersion() { > return System.getProperty("karafVersion", "2.3.0"); > } > > > Added: > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > URL: > http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java?rev=1450550&view=auto > ============================================================================== > --- > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > (added) > +++ > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > Wed Feb 27 00:36:48 2013 > @@ -0,0 +1,43 @@ > +/** > + * 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. > + */ > +package org.apache.activemq.karaf.itest; > + > +import org.junit.Test; > +import org.junit.runner.RunWith; > +import org.ops4j.pax.exam.Option; > +import org.ops4j.pax.exam.junit.Configuration; > +import org.ops4j.pax.exam.junit.JUnit4TestRunner; > + > + > +@RunWith(JUnit4TestRunner.class) > +public class ObrFeatureTest extends AbstractFeatureTest { > + > + @Configuration > + public static Option[] configure() { > + return configure("obr"); > + } > + > + @Test > + public void testClient() throws Throwable { > + installAndAssertFeature("activemq-client"); > + } > + > + //@Test > + public void testBroker() throws Throwable { > + installAndAssertFeature("activemq-broker"); > + } > +} > > Propchange: > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: > activemq/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ObrFeatureTest.java > ------------------------------------------------------------------------------ > svn:keywords = Rev Date > > Modified: activemq/trunk/activemq-karaf/src/main/resources/features.xml > URL: > http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/resources/features.xml?rev=1450550&r1=1450549&r2=1450550&view=diff > ============================================================================== > --- activemq/trunk/activemq-karaf/src/main/resources/features.xml (original) > +++ activemq/trunk/activemq-karaf/src/main/resources/features.xml Wed Feb 27 > 00:36:48 2013 > @@ -22,19 +22,22 @@ > > <!-- 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"> > - > <bundle>mvn:org.apache.activemq/activemq-osgi/${project.version}</bundle> > <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> > <bundle > dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle> > <bundle > dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle> > + <bundle > dependency="true">mvn:commons-net/commons-net/${commons-net-version}</bundle> > <!-- uber osgi bundle means client is not that lean, todo: introduce > client osgi bundle --> > <feature version="[3,4)">spring</feature> > <bundle > dependency="true">mvn:org.apache.xbean/xbean-spring/${xbean-version}</bundle> > + > <bundle>mvn:org.apache.activemq/activemq-osgi/${project.version}</bundle> > </feature> > > <!-- All bundles needed by the broker --> > <feature name="activemq" description="ActiveMQ broker libraries" > version="${project.version}" resolver="(obr)" start-level="50"> > + <feature>jetty</feature> > + <feature>spring-dm</feature> > <feature version="${project.version}">activemq-client</feature> > <bundle > dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle> > <bundle > dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle> > @@ -44,14 +47,17 @@ > <bundle > dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix.specs.version}</bundle> > <bundle > dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle> > <bundle > dependency="true">mvn:joda-time/joda-time/${jodatime-bundle-version}</bundle> > - <bundle > dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle> > - <bundle > dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j-bundle-version}</bundle> > <bundle > dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${xstream-bundle-version}</bundle> > + <bundle > dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snappy-java/${snappy-bundle-version}</bundle> > <bundle > dependency="true">mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/${aries-version}</bundle> > + <bundle > dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/2.0.0</bundle> > <bundle > dependency="true">mvn:org.apache.aries/org.apache.aries.util/${aries-version}</bundle> > + <bundle > dependency="true">mvn:org.apache.activemq/activeio-core/${activeio-version}</bundle> > + <bundle > dependency="true">mvn:org.codehaus.jettison/jettison/${jettison-version}</bundle> > + <bundle > dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle> > + <bundle > dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle> > > <bundle>mvn:org.apache.activemq/activemq-karaf/${project.version}</bundle> > <bundle > dependency="true">mvn:org.scala-lang/scala-library/${scala-version}</bundle> > - <feature version="${project.version}">activemq-http</feature> > </feature> > > <!-- Starts the broker with default configuration and web console --> > @@ -62,19 +68,6 @@ > <feature version="${project.version}">activemq-web-console</feature> > </feature> > > - <feature name="activemq-http" version="${project.version}" > resolver="(obr)" start-level="50"> > - <feature>jetty</feature> > - > <bundle>mvn:org.apache.activemq/activemq-http/${project.version}</bundle> > - > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.josql/${josql-version}</bundle> > - > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle> > - > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/${saxon-bundle-version}</bundle> > - > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle> > - > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${xmlbeans-bundle-version}</bundle> > - > <bundle>mvn:org.apache.httpcomponents/httpcore-osgi/${httpclient-version}</bundle> > - > <bundle>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-version}</bundle> > - <bundle>mvn:javax.jmdns/jmdns/${jmdns-version}</bundle> > - </feature> > - > <feature name="activemq-camel" version="${project.version}" > resolver="(obr)" start-level="50"> > <feature version="${project.version}">activemq-client</feature> > <feature version="${camel-version-range}">camel-jms</feature> > > Modified: activemq/trunk/activemq-leveldb-store/pom.xml > URL: > http://svn.apache.org/viewvc/activemq/trunk/activemq-leveldb-store/pom.xml?rev=1450550&r1=1450549&r2=1450550&view=diff > ============================================================================== > --- activemq/trunk/activemq-leveldb-store/pom.xml (original) > +++ activemq/trunk/activemq-leveldb-store/pom.xml Wed Feb 27 00:36:48 2013 > @@ -111,7 +111,6 @@ > <groupId>org.iq80.snappy</groupId> > <artifactId>snappy</artifactId> > <version>0.2</version> > - <optional>true</optional> > </dependency> > <dependency> > <groupId>org.codehaus.jackson</groupId> > > Modified: activemq/trunk/activemq-osgi/pom.xml > URL: > http://svn.apache.org/viewvc/activemq/trunk/activemq-osgi/pom.xml?rev=1450550&r1=1450549&r2=1450550&view=diff > ============================================================================== > --- activemq/trunk/activemq-osgi/pom.xml (original) > +++ activemq/trunk/activemq-osgi/pom.xml Wed Feb 27 00:36:48 2013 > @@ -32,13 +32,50 @@ > > <properties> > <activemq.osgi.import.pkg> > - > + !org.apache.commons.daemon, > + !org.apache.maven*, > + sun.misc*;resolution:=optional, > + sun.nio*;resolution:=optional, > + javax.jmdns*;resolution:=optional, > + javax.resource*;resolution:=optional, > + javax.servlet*;resolution:=optional, > + com.thoughtworks.xstream*;resolution:=optional, > + org.apache.activeio*;resolution:=optional, > + org.apache.camel*;resolution:=optional, > + org.apache.derby.jdbc*;resolution:=optional, > + org.apache.geronimo.transaction.manager*;resolution:=optional, > + org.apache.hadoop*;resolution:=optional, > + org.apache.http*;resolution:=optional, > + org.apache.xpath*;resolution:=optional, > + org.bouncycastle*;resolution:=optional, > + org.codehaus.jackson*;resolution:=optional, > + org.codehaus.jettison*;resolution:=optional, > + org.jasypt*;resolution:=optional, > + org.eclipse.jetty*;resolution:=optional, > + org.springframework.jms*;version="[3,4]";resolution:=optional, > + org.springframework.osgi*;version="[3,4]";resolution:=optional, > + org.springframework.transaction*;version="[3,4]";resolution:=optional, > + org.xmlpull*;resolution:=optional, > + scala*;resolution:=optional, > + javax.annotation*, > + javax.jms*, > + javax.management > + javax.transaction*, > + org.apache.commons.pool*, > + org.apache.commons.net*, > + org.apache.xbean.spring*, > + org.springframework*;version="[3,4]";resolution:=optional, > + * > </activemq.osgi.import.pkg> > <activemq.osgi.export> > > org.apache.activemq*;version=${project.version};-noimport:=true;-split-package:=merge-first, > - org.iq80*;-noimport:=true;-split-package:=merge-first, > - org.fusesource*;-noimport:=true;-split-package:=merge-first > </activemq.osgi.export> > + <activemq.osgi.private.pkg> > + org.fusesource*, > + org.apache.qpid*, > + com.google.common*, > + org.iq80* > + </activemq.osgi.private.pkg> > <activemq.osgi.dynamic.import>*</activemq.osgi.dynamic.import> > <surefire.argLine>-Xmx512M</surefire.argLine> > </properties> > > Modified: activemq/trunk/pom.xml > URL: > http://svn.apache.org/viewvc/activemq/trunk/pom.xml?rev=1450550&r1=1450549&r2=1450550&view=diff > ============================================================================== > --- activemq/trunk/pom.xml (original) > +++ activemq/trunk/pom.xml Wed Feb 27 00:36:48 2013 > @@ -104,6 +104,7 @@ > <scala-version>2.10.0</scala-version> > <scalatest-version>1.8</scalatest-version> > <slf4j-version>1.6.6</slf4j-version> > + <snappy-bundle-version>1.0.4.1_1</snappy-bundle-version> > <spring-version>3.1.3.RELEASE</spring-version> > <spring-osgi-version>1.2.1</spring-osgi-version> > <spring-oxm-version>1.5.10</spring-oxm-version> > >
