You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ff...@apache.org on 2017/11/23 09:10:12 UTC
[camel] branch master updated: Revert "[CAMEL-12026]ensure camel
bundle with spring configuration works in OSGi with aries-blueprint-spring
bridge"
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 8b5f4e2 Revert "[CAMEL-12026]ensure camel bundle with spring configuration works in OSGi with aries-blueprint-spring bridge"
8b5f4e2 is described below
commit 8b5f4e298b12170e92c1874b039cb30b9ec6fc76
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Thu Nov 23 17:08:36 2017 +0800
Revert "[CAMEL-12026]ensure camel bundle with spring configuration works in OSGi with aries-blueprint-spring bridge"
This reverts commit ba21445a2548946871ddd3ee2007c4659dbed223.
---
components/camel-spring/pom.xml | 13 ----
.../main/java/org/apache/camel/osgi/Activator.java | 45 -------------
.../apache/camel/osgi/CamelContextFactoryBean.java | 74 ----------------------
.../apache/camel/osgi/OsgiSpringCamelContext.java | 64 -------------------
.../spring/handler/CamelNamespaceHandler.java | 15 ++---
.../karaf/features/src/main/resources/features.xml | 2 -
6 files changed, 7 insertions(+), 206 deletions(-)
diff --git a/components/camel-spring/pom.xml b/components/camel-spring/pom.xml
index 544ea93..cbcb8cb 100644
--- a/components/camel-spring/pom.xml
+++ b/components/camel-spring/pom.xml
@@ -65,25 +65,12 @@
org.apache.camel.spi.ComponentResolver;component=spring-event,
org.apache.camel.spi.LanguageResolver;language=spel
</camel.osgi.export.service>
- <camel.osgi.activator>
- org.apache.camel.osgi.Activator
- </camel.osgi.activator>
<!-- do not skip any tests by default -->
<platform.skip.tests/>
</properties>
<dependencies>
<dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>provided</scope>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core-osgi</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java
deleted file mode 100644
index c8b6aaa..0000000
--- a/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java
+++ /dev/null
@@ -1,45 +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.
- */
-package org.apache.camel.osgi;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
- private static Bundle bundle;
-
- public static Bundle getBundle() {
- return bundle;
- }
-
- public static BundleContext getBundleContext() {
- return context;
- }
-
- public void start(BundleContext context) throws Exception {
- Activator.context = context;
- Activator.bundle = context.getBundle();
- }
-
- public void stop(BundleContext context) throws Exception {
- Activator.context = null;
- Activator.bundle = null;
- }
-}
diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java
deleted file mode 100644
index d28b587..0000000
--- a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java
+++ /dev/null
@@ -1,74 +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.
- */
-package org.apache.camel.osgi;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.core.osgi.OsgiCamelContextPublisher;
-import org.apache.camel.core.osgi.OsgiEventAdminNotifier;
-import org.apache.camel.spring.SpringCamelContext;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@XmlRootElement(name = "camelContext")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelContextFactoryBean extends org.apache.camel.spring.CamelContextFactoryBean {
- private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactoryBean.class);
-
- @XmlTransient
- private BundleContext bundleContext;
-
-
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- public void setBundleContext(BundleContext bundleContext) {
- LOG.debug("Using BundleContext: {}", bundleContext);
- this.bundleContext = bundleContext;
- }
-
- protected SpringCamelContext createContext() {
- SpringCamelContext ctx = newCamelContext();
- // only set the name if its explicit (Camel will auto assign name if none explicit set)
- if (!isImplicitId()) {
- ctx.setName(getId());
- }
- return ctx;
- }
-
- protected SpringCamelContext newCamelContext() {
- return new OsgiSpringCamelContext(getApplicationContext(), getBundleContext());
- }
-
- @Override
- public void afterPropertiesSet() throws Exception {
- super.afterPropertiesSet();
- getContext().getManagementStrategy().addEventNotifier(new OsgiCamelContextPublisher(bundleContext));
- try {
- getClass().getClassLoader().loadClass("org.osgi.service.event.EventAdmin");
- getContext().getManagementStrategy().addEventNotifier(new OsgiEventAdminNotifier(bundleContext));
- } catch (Throwable t) {
- // Ignore, if the EventAdmin package is not available, just don't use it
- LOG.debug("EventAdmin package is not available, just don't use it");
- }
- }
-}
diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java
deleted file mode 100644
index 52449bf..0000000
--- a/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java
+++ /dev/null
@@ -1,64 +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.
- */
-package org.apache.camel.osgi;
-
-import org.apache.camel.TypeConverter;
-import org.apache.camel.core.osgi.OsgiCamelContextHelper;
-import org.apache.camel.core.osgi.OsgiFactoryFinderResolver;
-import org.apache.camel.core.osgi.OsgiTypeConverter;
-import org.apache.camel.core.osgi.utils.BundleContextUtils;
-import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.spi.Registry;
-import org.apache.camel.spring.SpringCamelContext;
-import org.osgi.framework.BundleContext;
-import org.springframework.context.ApplicationContext;
-
-public class OsgiSpringCamelContext extends SpringCamelContext {
-
- private final BundleContext bundleContext;
-
- public OsgiSpringCamelContext(ApplicationContext applicationContext, BundleContext bundleContext) {
- super(applicationContext);
- this.bundleContext = bundleContext;
- OsgiCamelContextHelper.osgiUpdate(this, bundleContext);
- }
-
- @Override
- protected TypeConverter createTypeConverter() {
- // CAMEL-3614: make sure we use a bundle context which imports org.apache.camel.impl.converter package
- BundleContext ctx = BundleContextUtils.getBundleContext(getClass());
- if (ctx == null) {
- ctx = bundleContext;
- }
- FactoryFinder finder = new OsgiFactoryFinderResolver(bundleContext).resolveDefaultFactoryFinder(getClassResolver());
- return new OsgiTypeConverter(ctx, this, getInjector(), finder);
- }
-
- @Override
- protected Registry createRegistry() {
- return OsgiCamelContextHelper.wrapRegistry(this, super.createRegistry(), bundleContext);
- }
-
- @Override
- public void setName(String name) {
- super.setName(name);
- // in OSGi prefix the bundle id to the management name so it will be unique in the JVM
- // and also nicely sorted based on bundle id
- super.setManagementName(bundleContext.getBundle().getBundleId() + "-" + name);
- }
-
-}
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
index 2ab865d..9ecdf6c 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
@@ -81,7 +81,7 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
private JAXBContext jaxbContext;
private Map<String, BeanDefinition> autoRegisterMap = new HashMap<String, BeanDefinition>();
- private boolean osgi = false;
+
/**
* Prepares the nodes before parsing.
*/
@@ -154,6 +154,7 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
parserMap.put("errorHandler", errorHandlerParser);
// camel context
+ boolean osgi = false;
Class<?> cl = CamelContextFactoryBean.class;
// These code will try to detected if we are in the OSGi environment.
// If so, camel will use the OSGi version of CamelContextFactoryBean to create the CamelContext.
@@ -679,16 +680,14 @@ public class CamelNamespaceHandler extends NamespaceHandlerSupport {
LOG.debug("Registered default: {} with id: {} on camel context: {}", new Object[]{definition.getBeanClassName(), id, contextId});
}
} else {
- if (!osgi) {
- // ups we have already registered it before with same id, but on another camel context
- // this is not good so we need to remove all traces of this auto registering.
- // end user must manually add the needed XML elements and provide unique ids access all camel context himself.
- LOG.debug("Unregistered default: {} with id: {} as we have multiple camel contexts and they must use unique ids."
+ // ups we have already registered it before with same id, but on another camel context
+ // this is not good so we need to remove all traces of this auto registering.
+ // end user must manually add the needed XML elements and provide unique ids access all camel context himself.
+ LOG.debug("Unregistered default: {} with id: {} as we have multiple camel contexts and they must use unique ids."
+ " You must define the definition in the XML file manually to avoid id clashes when using multiple camel contexts",
definition.getBeanClassName(), id);
- parserContext.getRegistry().removeBeanDefinition(id);
- }
+ parserContext.getRegistry().removeBeanDefinition(id);
}
}
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index 9934fa7..696a941 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -62,8 +62,6 @@
<feature version='${spring-version-range}'>spring</feature>
<feature version='${spring-version-range}'>spring-tx</feature>
<feature version='${project.version}'>camel-core</feature>
- <feature>eventadmin</feature>
- <bundle dependency='true'>mvn:org.apache.camel/camel-core-osgi/${project.version}</bundle>
<bundle>mvn:org.apache.camel/camel-spring/${project.version}</bundle>
</feature>
<feature name='camel-scr' version='${project.version}' resolver='(obr)' start-level='50'>
--
To stop receiving notification emails like this one, please contact
['"commits@camel.apache.org" <co...@camel.apache.org>'].