You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2018/02/27 15:24:16 UTC

[6/7] incubator-unomi git commit: UNOMI-5 Upgrade to Karaf 4 Lots of fixes to make sure it works with Karaf 4.1.5: - Update the project from Karaf 4.1.1 to 4.1.5 - Remove XmlRootElement annotations that were causing the new CXF version to wrap the object

UNOMI-5 Upgrade to Karaf 4
Lots of fixes to make sure it works with Karaf 4.1.5:
- Update the project from Karaf 4.1.1 to 4.1.5
- Remove XmlRootElement annotations that were causing the new CXF version to wrap the objects
- Remove all auto-exports from Blueprint services declarations as they don't seem to work anymore
- Migrate ConsoleUtils to use a new LineReader (replacing the old ConsoleReader)
- Replace some hardcoded version numbers in Maven POM's with property references
- Replace the old deprecated ShellTable with the new one in the shell commands
- Update the provided configurations with the new settings (log4j2, changes in the karaf shell, removed the startup.properties file)
- Homogenize uses of HttpClient through the whole application
- Replace most hardcoded version numbers in Karaf feature descriptors with property references
- Fix null cookies now returned by new Jetty version


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/80440d8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/80440d8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/80440d8a

Branch: refs/heads/feature-UNOMI-5-KARAF4-1
Commit: 80440d8ae8dd357359397a252a79d7a4fe11672e
Parents: 613b804
Author: Serge Huber <sh...@jahia.com>
Authored: Tue Feb 27 13:38:23 2018 +0100
Committer: Serge Huber <sh...@jahia.com>
Committed: Tue Feb 27 13:38:23 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/unomi/api/EventInfo.java    |   3 -
 .../java/org/apache/unomi/api/Parameter.java    |   2 -
 .../java/org/apache/unomi/api/PartialList.java  |   2 -
 .../java/org/apache/unomi/api/ServerInfo.java   |   2 -
 .../java/org/apache/unomi/api/ValueType.java    |   2 -
 .../org/apache/unomi/api/actions/Action.java    |   2 -
 .../apache/unomi/api/conditions/Condition.java  |   2 -
 .../unomi/api/conditions/ConditionType.java     |  12 +-
 .../org/apache/unomi/api/lists/UserList.java    |   3 -
 .../unomi/api/segments/DependentMetadata.java   |   2 -
 .../org/apache/unomi/api/segments/Scoring.java  |   2 -
 .../unomi/api/segments/ScoringElement.java      |   2 -
 .../org/apache/unomi/api/segments/Segment.java  |   3 -
 common/pom.xml                                  |   4 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 .../java/org/apache/unomi/lists/UserList.java   |   3 -
 .../src/main/feature/feature.xml                |  21 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  26 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   4 +-
 .../salesforce-connector/karaf-kar/pom.xml      |   2 -
 .../karaf-kar/src/main/feature/feature.xml      |   4 +-
 .../salesforce-connector/services/pom.xml       |   1 -
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   6 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 extensions/weather-update/core/pom.xml          |   2 -
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 extensions/weather-update/karaf-kar/pom.xml     |   2 -
 .../karaf-kar/src/main/feature/feature.xml      |   4 +-
 .../java/org/apache/unomi/itests/BaseIT.java    |   2 +-
 kar/pom.xml                                     |   8 +
 metrics/pom.xml                                 |   4 +-
 .../unomi/metrics/commands/ListCommand.java     |   4 +-
 package/pom.xml                                 | 399 ++++++++++---------
 .../src/main/resources/etc/custom.properties    |   2 +
 .../resources/etc/org.apache.karaf.shell.cfg    |  47 ++-
 .../resources/etc/org.ops4j.pax.logging.cfg     | 109 +++--
 .../src/main/resources/etc/startup.properties   |  59 ---
 .../unomi/performancetests/BasicTest.java       |   2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   4 +-
 plugins/request/pom.xml                         |   8 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 pom.xml                                         |  46 ++-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  21 +-
 .../versions/master/custom-extensions.md        |   2 +-
 .../markdown/versions/master/twitter-sample.md  |   2 +-
 tools/shell-commands/pom.xml                    |   2 +-
 .../shell/migration/utils/ConsoleUtils.java     |   4 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   2 +-
 tools/shell-dev-commands/pom.xml                |   4 +-
 .../shell/commands/ListCommandSupport.java      |   4 +-
 .../org/apache/unomi/web/ClientServlet.java     |   8 +-
 .../org/apache/unomi/web/ContextServlet.java    |   8 +-
 .../unomi/web/EventsCollectorServlet.java       |   8 +-
 .../java/org/apache/unomi/web/HttpUtils.java    |   8 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml  |   7 +-
 57 files changed, 490 insertions(+), 414 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/EventInfo.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/EventInfo.java b/api/src/main/java/org/apache/unomi/api/EventInfo.java
index b78e727..543d6d9 100644
--- a/api/src/main/java/org/apache/unomi/api/EventInfo.java
+++ b/api/src/main/java/org/apache/unomi/api/EventInfo.java
@@ -17,12 +17,9 @@
 
 package org.apache.unomi.api;
 
-import javax.xml.bind.annotation.XmlRootElement;
-
 /**
  * Basic event information
  */
-@XmlRootElement
 public class EventInfo {
 
     private String name;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/Parameter.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/Parameter.java b/api/src/main/java/org/apache/unomi/api/Parameter.java
index f35ac45..c4d7d99 100644
--- a/api/src/main/java/org/apache/unomi/api/Parameter.java
+++ b/api/src/main/java/org/apache/unomi/api/Parameter.java
@@ -17,14 +17,12 @@
 
 package org.apache.unomi.api;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import java.io.Serializable;
 
 /**
  * A representation of a condition parameter, to be used in the segment building UI to either select parameters from a
  * choicelist or to enter a specific value.
  */
-@XmlRootElement
 public class Parameter implements Serializable {
 
     private static final long serialVersionUID = 7446061538573517071L;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/PartialList.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/PartialList.java b/api/src/main/java/org/apache/unomi/api/PartialList.java
index daa69c9..a78eb73 100644
--- a/api/src/main/java/org/apache/unomi/api/PartialList.java
+++ b/api/src/main/java/org/apache/unomi/api/PartialList.java
@@ -17,7 +17,6 @@
 
 package org.apache.unomi.api;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -29,7 +28,6 @@ import java.util.List;
  *
  * @param <T> the generic type of contained elements
  */
-@XmlRootElement
 public class PartialList<T> implements Serializable {
 
     private static final long serialVersionUID = 2661946814840468260L;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/ServerInfo.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/ServerInfo.java b/api/src/main/java/org/apache/unomi/api/ServerInfo.java
index f9d2001..2006a1f 100644
--- a/api/src/main/java/org/apache/unomi/api/ServerInfo.java
+++ b/api/src/main/java/org/apache/unomi/api/ServerInfo.java
@@ -17,14 +17,12 @@
 
 package org.apache.unomi.api;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import java.util.List;
 import java.util.Map;
 
 /**
  * Basic information about a Unomi server
  */
-@XmlRootElement
 public class ServerInfo {
 
     private String serverIdentifier;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/ValueType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/ValueType.java b/api/src/main/java/org/apache/unomi/api/ValueType.java
index d90321d..16e1eac 100644
--- a/api/src/main/java/org/apache/unomi/api/ValueType.java
+++ b/api/src/main/java/org/apache/unomi/api/ValueType.java
@@ -17,7 +17,6 @@
 
 package org.apache.unomi.api;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 import java.util.LinkedHashSet;
 import java.util.Set;
@@ -25,7 +24,6 @@ import java.util.Set;
 /**
  * A value type to be used to constrain property values.
  */
-@XmlRootElement
 public class ValueType implements PluginType {
 
     private String id;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/actions/Action.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/actions/Action.java b/api/src/main/java/org/apache/unomi/api/actions/Action.java
index 5c40e5a..b3505bb 100644
--- a/api/src/main/java/org/apache/unomi/api/actions/Action.java
+++ b/api/src/main/java/org/apache/unomi/api/actions/Action.java
@@ -20,7 +20,6 @@ package org.apache.unomi.api.actions;
 import org.apache.unomi.api.rules.Rule;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.HashMap;
@@ -30,7 +29,6 @@ import java.util.Map;
  * An action that can be executed as a consequence of a {@link Rule} being triggered. An action is characterized by its associated {@link
  * ActionType} and parameter values.
  */
-@XmlRootElement
 public class Action implements Serializable {
     private ActionType actionType;
     private String actionTypeId;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/conditions/Condition.java b/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
index b5b8e6c..541ef4b 100644
--- a/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
+++ b/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
@@ -18,7 +18,6 @@
 package org.apache.unomi.api.conditions;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.HashMap;
@@ -27,7 +26,6 @@ import java.util.Map;
 /**
  * A set of elements that can be evaluated.
  */
-@XmlRootElement
 public class Condition implements Serializable {
 
     ConditionType conditionType;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java b/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
index 4fd8354..c8a4322 100644
--- a/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
+++ b/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
@@ -17,14 +17,13 @@
 
 package org.apache.unomi.api.conditions;
 
-import org.apache.unomi.api.*;
-import org.apache.unomi.api.rules.Rule;
+import org.apache.unomi.api.Metadata;
+import org.apache.unomi.api.MetadataItem;
+import org.apache.unomi.api.Parameter;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * ConditionTypes define new conditions that can be applied to items (for example to decide whether a rule needs to be triggered or if a profile is considered as taking part in a
@@ -32,7 +31,6 @@ import java.util.*;
  * optimized by coding it. They may also be defined as combination of other conditions. A simple condition  could be: “User is male”, while a more generic condition with
  * parameters may test whether a given property has a specific value: “User property x has value y”.
  */
-@XmlRootElement
 public class ConditionType extends MetadataItem  {
     public static final String ITEM_TYPE = "conditionType";
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/lists/UserList.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/lists/UserList.java b/api/src/main/java/org/apache/unomi/api/lists/UserList.java
index d463a58..dc82b89 100644
--- a/api/src/main/java/org/apache/unomi/api/lists/UserList.java
+++ b/api/src/main/java/org/apache/unomi/api/lists/UserList.java
@@ -21,12 +21,9 @@ import org.apache.unomi.api.Item;
 import org.apache.unomi.api.Metadata;
 import org.apache.unomi.api.MetadataItem;
 
-import javax.xml.bind.annotation.XmlRootElement;
-
 /**
  * Created by amidani on 24/03/2017.
  */
-@XmlRootElement
 public class UserList extends MetadataItem{
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/segments/DependentMetadata.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/segments/DependentMetadata.java b/api/src/main/java/org/apache/unomi/api/segments/DependentMetadata.java
index a6693f3..1830c1e 100644
--- a/api/src/main/java/org/apache/unomi/api/segments/DependentMetadata.java
+++ b/api/src/main/java/org/apache/unomi/api/segments/DependentMetadata.java
@@ -19,11 +19,9 @@ package org.apache.unomi.api.segments;
 
 import org.apache.unomi.api.Metadata;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import java.io.Serializable;
 import java.util.List;
 
-@XmlRootElement
 public class DependentMetadata implements Serializable {
 
     private List<Metadata> segments;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/segments/Scoring.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/segments/Scoring.java b/api/src/main/java/org/apache/unomi/api/segments/Scoring.java
index f9bb577..6018fb3 100644
--- a/api/src/main/java/org/apache/unomi/api/segments/Scoring.java
+++ b/api/src/main/java/org/apache/unomi/api/segments/Scoring.java
@@ -22,14 +22,12 @@ import org.apache.unomi.api.Metadata;
 import org.apache.unomi.api.MetadataItem;
 import org.apache.unomi.api.Profile;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import java.util.List;
 
 /**
  * A set of conditions associated with a value to assign to {@link Profile}s when matching so that the associated users can be scored along that
  * dimension. Each {@link ScoringElement} is evaluated and matching profiles' scores are incremented with the associated value.
  */
-@XmlRootElement
 public class Scoring extends MetadataItem {
     /**
      * The Scoring ITEM_TYPE.

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/segments/ScoringElement.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/segments/ScoringElement.java b/api/src/main/java/org/apache/unomi/api/segments/ScoringElement.java
index dcc8046..1af5147 100644
--- a/api/src/main/java/org/apache/unomi/api/segments/ScoringElement.java
+++ b/api/src/main/java/org/apache/unomi/api/segments/ScoringElement.java
@@ -19,13 +19,11 @@ package org.apache.unomi.api.segments;
 
 import org.apache.unomi.api.conditions.Condition;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import java.io.Serializable;
 
 /**
  * A scoring dimension along profiles can be evaluated and associated value to be assigned.
  */
-@XmlRootElement
 public class ScoringElement implements Serializable {
     private Condition condition;
     private int value;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/api/src/main/java/org/apache/unomi/api/segments/Segment.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/segments/Segment.java b/api/src/main/java/org/apache/unomi/api/segments/Segment.java
index 2b463bf..4e0d338 100644
--- a/api/src/main/java/org/apache/unomi/api/segments/Segment.java
+++ b/api/src/main/java/org/apache/unomi/api/segments/Segment.java
@@ -23,14 +23,11 @@ import org.apache.unomi.api.MetadataItem;
 import org.apache.unomi.api.Profile;
 import org.apache.unomi.api.conditions.Condition;
 
-import javax.xml.bind.annotation.XmlRootElement;
-
 /**
  * A dynamically evaluated group of similar profiles in order to categorize the associated users. To be considered part of a given segment, users must satisfies
  * the segment’s condition. If they match, users are automatically added to the segment. Similarly, if at any given point during, they cease to satisfy the segment’s condition,
  * they are automatically removed from it.
  */
-@XmlRootElement
 public class Segment extends MetadataItem {
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index 95f31dc..1c776f2 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -44,14 +44,14 @@
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.table</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 386fbe0..7a55241 100644
--- a/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/lists-extension/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -24,7 +24,7 @@
 
     <!-- Action executors -->
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="addToLists"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/lists-extension/services/src/main/java/org/apache/unomi/lists/UserList.java
----------------------------------------------------------------------
diff --git a/extensions/lists-extension/services/src/main/java/org/apache/unomi/lists/UserList.java b/extensions/lists-extension/services/src/main/java/org/apache/unomi/lists/UserList.java
index e9ab509..02b54cb 100644
--- a/extensions/lists-extension/services/src/main/java/org/apache/unomi/lists/UserList.java
+++ b/extensions/lists-extension/services/src/main/java/org/apache/unomi/lists/UserList.java
@@ -19,12 +19,9 @@ package org.apache.unomi.lists;
 import org.apache.unomi.api.Metadata;
 import org.apache.unomi.api.MetadataItem;
 
-import javax.xml.bind.annotation.XmlRootElement;
-
 /**
  * @author Christophe Laprun
  */
-@XmlRootElement
 public class UserList extends MetadataItem {
     public static final String ITEM_TYPE = "userList";
     private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/router/router-karaf-feature/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/extensions/router/router-karaf-feature/src/main/feature/feature.xml b/extensions/router/router-karaf-feature/src/main/feature/feature.xml
index 7578677..b513115 100644
--- a/extensions/router/router-karaf-feature/src/main/feature/feature.xml
+++ b/extensions/router/router-karaf-feature/src/main/feature/feature.xml
@@ -15,22 +15,23 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.1" name="unomi-router-karaf-feature">
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0" name="unomi-router-karaf-feature">
     <feature name="unomi-router-karaf-feature" version="${project.version}" description="Apache Unomi :: Extensions :: Router :: Apache Karaf Feature">
         <details>Apache Karaf feature for the Apache Unomi Context Server extension</details>
         <feature>unomi-kar</feature>
         <bundle start-level="90">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/0.1.54_1</bundle>
         <bundle start-level="90">mvn:commons-net/commons-net/3.5</bundle>
         <bundle start-level="90">wrap:mvn:org.apache.kafka/kafka-clients/0.10.1.0</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-core/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-core-osgi/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-blueprint/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-jackson/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-http-common/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-ftp/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-stream/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.camel/camel-kafka/2.19.1</bundle>
-        <bundle start-level="90">mvn:org.apache.cxf/cxf-rt-rs-security-cors/3.0.2</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-core/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-core-osgi/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-blueprint/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-jackson/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-http-common/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-servlet/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-ftp/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-stream/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.camel/camel-kafka/${camel.version}</bundle>
+        <bundle start-level="90">mvn:org.apache.cxf/cxf-rt-rs-security-cors/${cxf.version}</bundle>
         <bundle start-level="90" start="false">mvn:org.apache.unomi/unomi-router-api/${project.version}</bundle>
         <bundle start-level="90" start="false">mvn:org.apache.unomi/unomi-router-core/${project.version}</bundle>
         <bundle start-level="90" start="false">mvn:org.apache.unomi/unomi-router-service/${project.version}</bundle>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index abbc72d..c00554c 100644
--- a/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/router/router-service/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -28,7 +28,11 @@
         <property name="persistenceService" ref="persistenceService"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="importConfigurationService" ref="importConfigurationServiceImpl" auto-export="interfaces">
+    <service id="importConfigurationService" ref="importConfigurationServiceImpl">
+        <interfaces>
+            <value>org.apache.unomi.router.api.services.ImportExportConfigurationService</value>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+        </interfaces>
         <service-properties>
             <entry key="configDiscriminator" value="IMPORT"/>
         </service-properties>
@@ -39,7 +43,11 @@
         <property name="persistenceService" ref="persistenceService"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="exportConfigurationService" ref="exportConfigurationServiceImpl" auto-export="interfaces">
+    <service id="exportConfigurationService" ref="exportConfigurationServiceImpl">
+        <interfaces>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+            <value>org.apache.unomi.router.api.services.ImportExportConfigurationService</value>
+        </interfaces>
         <service-properties>
             <entry key="configDiscriminator" value="EXPORT"/>
         </service-properties>
@@ -50,7 +58,12 @@
         <property name="persistenceService" ref="persistenceService"/>
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="profileImportService" ref="profileImportServiceImpl" auto-export="interfaces"/>
+    <service id="profileImportService" ref="profileImportServiceImpl">
+        <interfaces>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+            <value>org.apache.unomi.router.api.services.ProfileImportService</value>
+        </interfaces>
+    </service>
 
     <bean id="profileExportServiceImpl" class="org.apache.unomi.router.services.ProfileExportServiceImpl"
           init-method="postConstruct" destroy-method="preDestroy">
@@ -58,6 +71,11 @@
         <property name="configSharingService" ref="configSharingService" />
         <property name="bundleContext" ref="blueprintBundleContext"/>
     </bean>
-    <service id="profileExportService" ref="profileExportServiceImpl" auto-export="interfaces"/>
+    <service id="profileExportService" ref="profileExportServiceImpl">
+        <interfaces>
+            <value>org.osgi.framework.SynchronousBundleListener</value>
+            <value>org.apache.unomi.router.api.services.ProfileExportService</value>
+        </interfaces>
+    </service>
 
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 24b61ff..3d0e50e 100644
--- a/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/salesforce-connector/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -23,7 +23,7 @@
     <reference id="sfdcService"
                interface="org.apache.unomi.sfdc.services.SFDCService"/>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="sfdcCreateOrUpdateLead"/>
         </service-properties>
@@ -32,7 +32,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="sfdcUpdateProfileFromLead"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/salesforce-connector/karaf-kar/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/karaf-kar/pom.xml b/extensions/salesforce-connector/karaf-kar/pom.xml
index dd391f3..c0ac866 100644
--- a/extensions/salesforce-connector/karaf-kar/pom.xml
+++ b/extensions/salesforce-connector/karaf-kar/pom.xml
@@ -40,12 +40,10 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore-osgi</artifactId>
-            <version>4.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.unomi</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml b/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml
index 1c74c7d..d3fbc36 100644
--- a/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml
+++ b/extensions/salesforce-connector/karaf-kar/src/main/feature/feature.xml
@@ -19,8 +19,8 @@
     <feature name="unomi-salesforce-connector-karaf-kar" version="${project.version}" description="Apache Unomi :: Extensions :: Salesforce connector :: Apache Karaf Feature">
         <details>Apache Karaf feature for the Apache Unomi Context Server extension that integrates with Salesforce</details>
         <configfile finalname="/etc/org.apache.unomi.sfdc.cfg">mvn:org.apache.unomi/unomi-salesforce-connector-services/${project.version}/cfg/sfdccfg</configfile>
-        <bundle start-level="85">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
-        <bundle start-level="85">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.1</bundle>
+        <bundle start-level="85">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version}</bundle>
+        <bundle start-level="85">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-osgi.version}</bundle>
         <bundle start-level="85">mvn:org.apache.unomi/unomi-salesforce-connector-services/${project.version}</bundle>
         <bundle start-level="85">mvn:org.apache.unomi/unomi-salesforce-connector-rest/${project.version}</bundle>
         <bundle start-level="85">mvn:org.apache.unomi/unomi-salesforce-connector-actions/${project.version}</bundle>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/salesforce-connector/services/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/pom.xml b/extensions/salesforce-connector/services/pom.xml
index 87d3395..270f009 100644
--- a/extensions/salesforce-connector/services/pom.xml
+++ b/extensions/salesforce-connector/services/pom.xml
@@ -52,7 +52,6 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index e6603c2..011f851 100644
--- a/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/salesforce-connector/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -65,6 +65,6 @@
         <property name="persistenceService" ref="persistenceService" />
     </bean>
 
-    <service id="sfdcService" ref="sfdcServiceImpl" auto-export="interfaces"/>
+    <service id="sfdcService" ref="sfdcServiceImpl" interface="org.apache.unomi.sfdc.services.SFDCService"/>
 
 </blueprint>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index b8b0f01..d7376d6 100644
--- a/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -23,7 +23,7 @@
     <reference id="mailChimpService"
                interface="org.apache.unomi.mailchimp.services.MailChimpService"/>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="addVisitorToMailChimpList"/>
         </service-properties>
@@ -32,7 +32,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="removeVisitorFromMailChimpList"/>
         </service-properties>
@@ -41,7 +41,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="unsubscribeVisitorFromMailChimpList"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/unomi-mailchimp/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/unomi-mailchimp/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 614937f..6f88470 100644
--- a/extensions/unomi-mailchimp/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/unomi-mailchimp/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -38,7 +38,7 @@
         <property name="isMergeFieldsActivate" value="${mailChimpConnector.list.merge-fields.activate}"/>
     </bean>
 
-    <service id="mailChimpService" ref="mailChimpServiceImpl" auto-export="interfaces"/>
+    <service id="mailChimpService" ref="mailChimpServiceImpl" interface="org.apache.unomi.mailchimp.services.MailChimpService" />
 </blueprint>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/weather-update/core/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/pom.xml b/extensions/weather-update/core/pom.xml
index 686b9d3..59b5449 100755
--- a/extensions/weather-update/core/pom.xml
+++ b/extensions/weather-update/core/pom.xml
@@ -39,13 +39,11 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore-osgi</artifactId>
-            <version>4.4.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 0339ce8..e21d744 100755
--- a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -31,7 +31,7 @@
     </cm:property-placeholder>
 
     <!-- Action executor -->
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="weatherUpdate"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/weather-update/karaf-kar/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml
index 229c02c..c1d05ed 100644
--- a/extensions/weather-update/karaf-kar/pom.xml
+++ b/extensions/weather-update/karaf-kar/pom.xml
@@ -39,12 +39,10 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore-osgi</artifactId>
-            <version>4.4.6</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.1</version>
         </dependency>
 
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml b/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
index 2f005a6..34b46bb 100644
--- a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
+++ b/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
@@ -21,8 +21,8 @@
         <details>Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather
             update</details>
         <configfile finalname="/etc/org.apache.unomi.weatherUpdate.cfg">mvn:org.apache.unomi/unomi-weather-update-core/${project.version}/cfg/weatherupdatecfg</configfile>
-        <bundle start-level="85">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
-        <bundle start-level="85">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.1</bundle>
+        <bundle start-level="85">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore-osgi.version}</bundle>
+        <bundle start-level="85">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient-osgi.version}</bundle>
         <bundle start-level="85">mvn:org.apache.unomi/unomi-weather-update-core/${project.version}</bundle>
     </feature>
 </features>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
index 0cb81cd..5c9d6ae 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
@@ -46,7 +46,7 @@ public abstract class BaseIT {
         MavenArtifactUrlReference karafUrl = maven()
                 .groupId("org.apache.karaf")
                 .artifactId("apache-karaf")
-                .version("4.1.1")
+                .version("4.1.5")
                 .type("tar.gz");
 
         MavenUrlReference karafStandardRepo = maven()

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/kar/pom.xml
----------------------------------------------------------------------
diff --git a/kar/pom.xml b/kar/pom.xml
index 8db7bdd..09ccadc 100644
--- a/kar/pom.xml
+++ b/kar/pom.xml
@@ -32,6 +32,14 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore-osgi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient-osgi</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.unomi</groupId>
             <artifactId>unomi-wab</artifactId>
             <version>1.3.0-incubating-unomi_2.0.0-SNAPSHOT</version>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/metrics/pom.xml
----------------------------------------------------------------------
diff --git a/metrics/pom.xml b/metrics/pom.xml
index 754a960..470ac11 100644
--- a/metrics/pom.xml
+++ b/metrics/pom.xml
@@ -34,14 +34,14 @@
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.table</artifactId>
-            <version>3.0.8</version>
+            <version>${version.karaf}</version>
             <scope>provided</scope>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/metrics/src/main/java/org/apache/unomi/metrics/commands/ListCommand.java
----------------------------------------------------------------------
diff --git a/metrics/src/main/java/org/apache/unomi/metrics/commands/ListCommand.java b/metrics/src/main/java/org/apache/unomi/metrics/commands/ListCommand.java
index c7e1eb8..f003afb 100644
--- a/metrics/src/main/java/org/apache/unomi/metrics/commands/ListCommand.java
+++ b/metrics/src/main/java/org/apache/unomi/metrics/commands/ListCommand.java
@@ -18,8 +18,8 @@ package org.apache.unomi.metrics.commands;
 
 import org.apache.karaf.shell.commands.Command;
 import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.table.Row;
-import org.apache.karaf.shell.table.ShellTable;
+import org.apache.karaf.shell.support.table.Row;
+import org.apache.karaf.shell.support.table.ShellTable;
 import org.apache.unomi.common.DataTable;
 import org.apache.unomi.metrics.Metric;
 

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/package/pom.xml
----------------------------------------------------------------------
diff --git a/package/pom.xml b/package/pom.xml
index ae5afd7..b169045 100644
--- a/package/pom.xml
+++ b/package/pom.xml
@@ -39,13 +39,11 @@
         <!-- Standard Apache Karaf Features -->
 
         <dependency>
-            <!-- scope is compile so all features (there is only one) are installed into startup.properties and the feature repo itself is not installed -->
             <groupId>org.apache.karaf.features</groupId>
             <artifactId>framework</artifactId>
             <type>kar</type>
         </dependency>
         <dependency>
-            <!-- scope is runtime so the feature repo is listed in the features service config file, and features may be installed using the karaf-maven-plugin configuration -->
             <groupId>org.apache.karaf.features</groupId>
             <artifactId>framework</artifactId>
             <classifier>features</classifier>
@@ -127,6 +125,138 @@
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>unpack-deploy-by-query-plugin</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.elasticsearch.plugin</groupId>
+                                    <artifactId>reindex-client</artifactId>
+                                    <version>${elasticsearch.version}</version>
+                                    <outputDirectory>${project.build.directory}/assembly/elasticsearch/modules/reindex</outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-wab</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>unomicfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.web.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-persistence-elasticsearch-core</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>elasticsearchcfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.persistence.elasticsearch.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-services</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>hazelcastconfig</classifier>
+                                    <type>xml</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>hazelcast.xml</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-services</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>clustercfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.cluster.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-services</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>servicescfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.services.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-plugins-request</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>requestcfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.plugins.request.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-plugins-mail</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>mailcfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.plugins.mail.cfg</destFileName>
+                                </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.apache.unomi</groupId>
+                                    <artifactId>unomi-router-core</artifactId>
+                                    <version>${project.version}</version>
+                                    <classifier>routercfg</classifier>
+                                    <type>cfg</type>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/etc
+                                    </outputDirectory>
+                                    <destFileName>org.apache.unomi.router.cfg</destFileName>
+                                </artifactItem>
+                                <!-- UNOMI-75 : We install the blueprint core bundle in a different version to fix a problem with offline startup -->
+                                <artifactItem>
+                                    <groupId>org.apache.aries.blueprint</groupId>
+                                    <artifactId>org.apache.aries.blueprint.core</artifactId>
+                                    <version>1.6.2</version>
+                                    <outputDirectory>
+                                        ${project.build.directory}/assembly/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2
+                                    </outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                            <!-- other configurations here -->
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-resources-plugin</artifactId>
                 <executions>
                     <execution>
@@ -144,6 +274,78 @@
                     <skip>true</skip>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>install-kar</id>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>assembly</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>package</id>
+                        <goals>
+                            <goal>archive</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <installedFeatures>
+                        <feature>wrapper</feature>
+                    </installedFeatures>
+                    <startupFeatures>
+                        <feature>eventadmin</feature>
+                    </startupFeatures>
+                    <bootFeatures>
+                        <feature>wrap</feature>
+                        <feature>shell</feature>
+                        <feature>feature</feature>
+                        <feature>jaas</feature>
+                        <feature>ssh</feature>
+                        <feature>management</feature>
+                        <feature>bundle</feature>
+                        <feature>config</feature>
+                        <feature>deployer</feature>
+                        <feature>diagnostic</feature>
+                        <feature>feature</feature>
+                        <feature>instance</feature>
+                        <feature>kar</feature>
+                        <feature>log</feature>
+                        <feature>package</feature>
+                        <feature>service</feature>
+                        <feature>system</feature>
+                        <feature>war</feature>
+                        <feature>cxf</feature>
+                        <feature>cellar</feature>
+                        <feature>aries-blueprint</feature>
+                        <feature>shell-compat</feature>
+                        <feature>unomi-kar</feature>
+                        <feature>unomi-router-karaf-feature</feature>
+                    </bootFeatures>
+                    <libraries>
+                        <library>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces.version};type:=endorsed;export:=true;delegate:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxp-api-1.4/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.2/${servicemix.specs.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/${xalan.bundle.version};type:=endorsed;export:=true</library>
+                        <library>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan-serializer/${xalan-serializer.bundle.version};type:=endorsed;export:=true</library>
+                        <library>mvn:javax.annotation/javax.annotation-api/1.2;type:=endorsed;export:=true</library>
+
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activator/${servicemix.specs.version};type:=default;export:=true</library>
+                        <library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.locator/${servicemix.specs.version};type:=default;export:=true</library>
+
+                        <library>mvn:net.java.dev.jna/jna/${jna.version};type:=boot;export:=false</library>
+                        <library>mvn:net.java.dev.jna/jna-platform/${jna.version};type:=boot;export:=false</library>
+                    </libraries>
+                    <javase>1.8</javase>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
@@ -173,199 +375,6 @@
                 </plugins>
             </build>
         </profile>
-        <profile>
-            <id>binary</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>unpack-deploy-by-query-plugin</id>
-                                <phase>generate-resources</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                                <configuration>
-                                    <artifactItems>
-                                        <artifactItem>
-                                            <groupId>org.elasticsearch.plugin</groupId>
-                                            <artifactId>reindex-client</artifactId>
-                                            <version>${elasticsearch.version}</version>
-                                            <outputDirectory>${project.build.directory}/assembly/elasticsearch/modules/reindex</outputDirectory>
-                                        </artifactItem>
-                                    </artifactItems>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>copy</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>copy</goal>
-                                </goals>
-                                <configuration>
-                                    <artifactItems>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-wab</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>unomicfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.web.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-persistence-elasticsearch-core</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>elasticsearchcfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.persistence.elasticsearch.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-services</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>hazelcastconfig</classifier>
-                                            <type>xml</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>hazelcast.xml</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-services</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>clustercfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.cluster.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-services</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>servicescfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.services.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-plugins-request</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>requestcfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.plugins.request.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-plugins-mail</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>mailcfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.plugins.mail.cfg</destFileName>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.unomi</groupId>
-                                            <artifactId>unomi-router-core</artifactId>
-                                            <version>${project.version}</version>
-                                            <classifier>routercfg</classifier>
-                                            <type>cfg</type>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/etc
-                                            </outputDirectory>
-                                            <destFileName>org.apache.unomi.router.cfg</destFileName>
-                                        </artifactItem>
-                                        <!-- UNOMI-75 : We install the blueprint core bundle in a different version to fix a problem with offline startup -->
-                                        <artifactItem>
-                                            <groupId>org.apache.aries.blueprint</groupId>
-                                            <artifactId>org.apache.aries.blueprint.core</artifactId>
-                                            <version>1.6.2</version>
-                                            <outputDirectory>
-                                                ${project.build.directory}/assembly/system/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2
-                                            </outputDirectory>
-                                        </artifactItem>
-                                    </artifactItems>
-                                    <!-- other configurations here -->
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.karaf.tooling</groupId>
-                        <artifactId>karaf-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>process-resources</id>
-                                <phase>process-resources</phase>
-                                <goals>
-                                    <goal>assembly</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>package</id>
-                                <goals>
-                                    <goal>archive</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <installedFeatures>
-                                <feature>wrapper</feature>
-                            </installedFeatures>
-                            <bootFeatures>
-                                <feature>framework</feature>
-                                <feature>wrap</feature>
-                                <feature>aries-blueprint</feature>
-                                <feature>shell</feature>
-                                <feature>shell-compat</feature>
-                                <feature>feature</feature>
-                                <feature>jaas</feature>
-                                <feature>ssh</feature>
-                                <feature>management</feature>
-                                <feature>bundle</feature>
-                                <feature>config</feature>
-                                <feature>deployer</feature>
-                                <feature>diagnostic</feature>
-                                <feature>feature</feature>
-                                <feature>instance</feature>
-                                <feature>kar</feature>
-                                <feature>log</feature>
-                                <feature>package</feature>
-                                <feature>service</feature>
-                                <feature>system</feature>
-                                <feature>war</feature>
-                                <feature>cxf</feature>
-                                <feature>cellar</feature>
-                                <feature>unomi-kar</feature>
-                                <feature>unomi-router-karaf-feature</feature>
-                            </bootFeatures>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
     </profiles>
 
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/package/src/main/resources/etc/custom.properties
----------------------------------------------------------------------
diff --git a/package/src/main/resources/etc/custom.properties b/package/src/main/resources/etc/custom.properties
index 06484da..06e70ff 100644
--- a/package/src/main/resources/etc/custom.properties
+++ b/package/src/main/resources/etc/custom.properties
@@ -1,3 +1,4 @@
+################################################################################
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -14,6 +15,7 @@
 # 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

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/package/src/main/resources/etc/org.apache.karaf.shell.cfg
----------------------------------------------------------------------
diff --git a/package/src/main/resources/etc/org.apache.karaf.shell.cfg b/package/src/main/resources/etc/org.apache.karaf.shell.cfg
index 2f0ee02..5630c9a 100644
--- a/package/src/main/resources/etc/org.apache.karaf.shell.cfg
+++ b/package/src/main/resources/etc/org.apache.karaf.shell.cfg
@@ -1,3 +1,4 @@
+
 ################################################################################
 #
 #    Licensed to the Apache Software Foundation (ASF) under one or more
@@ -39,12 +40,28 @@ sshIdleTimeout = 1800000
 sshRealm = karaf
 
 #
+# Defines if the SFTP system is enabled or not in the SSH server
+#
+sftpEnabled=true
+
+#
 # The location of the hostKey file defines where the private/public key of the server
 # is located. If no file is at the defined location it will be ignored.
 #
 hostKey = ${karaf.etc}/host.key
 
 #
+# The format used for hostKey.
+# Possible values are simple (Karaf internal), or PEM (OpenSSH format)
+#
+hostKeyFormat = simple
+
+#
+# shRole defines the role required to access the console through ssh
+#
+sshRole = ssh
+
+#
 # Self defined key size in 1024, 2048, 3072, or 4096
 # If not set, this defaults to 4096.
 #
@@ -81,24 +98,30 @@ hostKey = ${karaf.etc}/host.key
 # This property define the default value when you use the Karaf shell console.
 # You can change the completion mode directly in the shell console, using shell:completion command.
 #
-completionMode = GLOBAL
 
 #
-# Enable the console logger.
-# The console logger allows to generate log messages for all actions/commands performed in the shell console.
-#
-# consoleLogger property enable/disable the logger. The logger is disabled by default
+# Override allowed SSH cipher algorithms.
+# Default: aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc
 #
-consoleLogger = false
+# ciphers = aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc
+
 #
-# consoleLoggerName allows you to define the logger name used for the log messages
+# Override allowed SSH HMAC algorithms.
+# Default: hmac-sha2-512,hmac-sha2-256,hmac-sha1
 #
-consoleLoggerName = org.apache.karaf.shell.console.Logger
+# macs = hmac-sha2-512,hmac-sha2-256,hmac-sha1
+
 #
-# consoleLoggerOutLevel allows you to define the log level for the log messages corresponding to the System.out stream
+# Override allowed SSH key exchange algorithms.
+# Default: diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
 #
-consoleLoggerOutLevel = debug
+# kexAlgorithms = diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
+
 #
-# consoleLoggerErrLevel allows you to define the log level for the log messages corresponding to the System.err stream
+# Override moduli-url.
+# Default: moduli-url not specified to use the internal one from SSHD
 #
-consoleLoggerErrLevel = error
+# moduli-url = external moduli-url users wanna use
+
+completionMode = GLOBAL
+

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/package/src/main/resources/etc/org.ops4j.pax.logging.cfg
----------------------------------------------------------------------
diff --git a/package/src/main/resources/etc/org.ops4j.pax.logging.cfg b/package/src/main/resources/etc/org.ops4j.pax.logging.cfg
index 99db1db..543c181 100644
--- a/package/src/main/resources/etc/org.ops4j.pax.logging.cfg
+++ b/package/src/main/resources/etc/org.ops4j.pax.logging.cfg
@@ -1,3 +1,4 @@
+################################################################################
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -14,34 +15,84 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+################################################################################
+
+# Common pattern layout for appenders
+log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
 
 # Root logger
-log4j.rootLogger=INFO, out, osgi:*
-log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.RollingFileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
-log4j.appender.out.file=${karaf.data}/log/karaf.log
-log4j.appender.out.append=true
-log4j.appender.out.maxFileSize=1MB
-log4j.appender.out.maxBackupIndex=10
-
-# Sift appender
-log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
-log4j.appender.sift.key=bundle.name
-log4j.appender.sift.default=karaf
-log4j.appender.sift.appender=org.apache.log4j.FileAppender
-log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
-log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
-log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log
-log4j.appender.sift.appender.append=true
-
-log4j.logger.org.apache.cxf=WARN
-log4j.logger.org.apache.cxf.interceptor.security=ERROR
+log4j2.rootLogger.level = INFO
+# uncomment to use asynchronous loggers, which require mvn:com.lmax/disruptor/3.3.2 library
+#log4j2.rootLogger.type = asyncRoot
+#log4j2.rootLogger.includeLocation = false
+log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
+log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
+log4j2.rootLogger.appenderRef.Console.ref = Console
+log4j2.rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter
+log4j2.rootLogger.appenderRef.Console.filter.threshold.level = ${karaf.log.console:-OFF}
+
+# Loggers configuration
+
+# SSHD logger
+log4j2.logger.sshd.name = org.apache.sshd
+log4j2.logger.sshd.level = INFO
+
+# Spifly logger
+log4j2.logger.spifly.name = org.apache.aries.spifly
+log4j2.logger.spifly.level = WARN
+
+# Security audit logger
+log4j2.logger.audit.name = org.apache.karaf.jaas.modules.audit
+log4j2.logger.audit.level = INFO
+log4j2.logger.audit.additivity = false
+log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile
+
+# Appenders configuration
+
+# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
+log4j2.appender.console.type = Console
+log4j2.appender.console.name = Console
+log4j2.appender.console.layout.type = PatternLayout
+log4j2.appender.console.layout.pattern = ${log4j2.pattern}
+
+# Rolling file appender
+log4j2.appender.rolling.type = RollingRandomAccessFile
+log4j2.appender.rolling.name = RollingFile
+log4j2.appender.rolling.fileName = ${karaf.data}/log/karaf.log
+log4j2.appender.rolling.filePattern = ${karaf.data}/log/karaf.log.%i
+# uncomment to not force a disk flush
+#log4j2.appender.rolling.immediateFlush = false
+log4j2.appender.rolling.append = true
+log4j2.appender.rolling.layout.type = PatternLayout
+log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
+log4j2.appender.rolling.policies.type = Policies
+log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.rolling.policies.size.size = 16MB
+
+# Audit file appender
+log4j2.appender.audit.type = RollingRandomAccessFile
+log4j2.appender.audit.name = AuditRollingFile
+log4j2.appender.audit.fileName = ${karaf.data}/security/audit.log
+log4j2.appender.audit.filePattern = ${karaf.data}/security/audit.log.%i
+log4j2.appender.audit.append = true
+log4j2.appender.audit.layout.type = PatternLayout
+log4j2.appender.audit.layout.pattern = ${log4j2.pattern}
+log4j2.appender.audit.policies.type = Policies
+log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.audit.policies.size.size = 8MB
+
+# OSGi appender
+log4j2.appender.osgi.type = PaxOsgi
+log4j2.appender.osgi.name = PaxOsgi
+log4j2.appender.osgi.filter = *
+
+# help with identification of maven-related problems with pax-url-aether
+#log4j2.logger.aether.name = shaded.org.eclipse.aether
+#log4j2.logger.aether.level = TRACE
+#log4j2.logger.http-headers.name = shaded.org.apache.http.headers
+#log4j2.logger.http-headers.level = DEBUG
+#log4j2.logger.maven.name = org.ops4j.pax.url.mvn
+#log4j2.logger.maven.level = TRACE
+
+log4j2.logger.cxfInterceptor.name = org.apache.cxf.interceptor
+log4j2.logger.cxfInterceptor.level = WARN

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/package/src/main/resources/etc/startup.properties
----------------------------------------------------------------------
diff --git a/package/src/main/resources/etc/startup.properties b/package/src/main/resources/etc/startup.properties
deleted file mode 100644
index e575eb4..0000000
--- a/package/src/main/resources/etc/startup.properties
+++ /dev/null
@@ -1,59 +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.
-#
-
-# This files was patched manually to patch org.apache.aries.blueprint.core to version 1.6.2
-# to solve a problem with offline startup (UNOMI-75)
-
-#Bundles to be started on startup, with startlevel
-
-# feature: framework version: 3.0.8
-mvn\:org.ops4j.pax.url/pax-url-aether/2.4.7 = 5
-mvn\:org.ops4j.pax.url/pax-url-wrap/2.4.7/jar/uber = 5
-mvn\:org.ops4j.pax.logging/pax-logging-api/1.8.4 = 8
-mvn\:org.ops4j.pax.logging/pax-logging-service/1.8.4 = 8
-mvn\:org.apache.karaf.service/org.apache.karaf.service.guard/3.0.8 = 10
-mvn\:org.apache.felix/org.apache.felix.configadmin/1.8.4 = 10
-mvn\:org.apache.felix/org.apache.felix.fileinstall/3.5.2 = 11
-mvn\:org.ow2.asm/asm-all/5.0.3 = 12
-mvn\:org.apache.aries/org.apache.aries.util/1.1.1 = 20
-mvn\:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.1 = 20
-mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.8 = 20
-mvn\:org.apache.aries.proxy/org.apache.aries.proxy.impl/1.0.4 = 20
-mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1 = 20
-mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0 = 20
-mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.6.2 = 20
-mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/3.0.8 = 24
-mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.blueprint/3.0.8 = 24
-mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.wrap/3.0.8 = 24
-mvn\:org.apache.karaf.region/org.apache.karaf.region.core/3.0.8 = 25
-mvn\:org.apache.karaf.features/org.apache.karaf.features.core/3.0.8 = 25
-mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.features/3.0.8 = 26
-mvn\:jline/jline/2.13 = 30
-mvn\:org.jledit/core/0.2.1 = 30
-mvn\:org.apache.karaf.features/org.apache.karaf.features.command/3.0.8 = 30
-mvn\:org.apache.karaf.bundle/org.apache.karaf.bundle.core/3.0.8 = 30
-mvn\:org.apache.karaf.bundle/org.apache.karaf.bundle.command/3.0.8 = 30
-mvn\:org.apache.karaf.shell/org.apache.karaf.shell.console/3.0.8 = 30
-mvn\:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/3.0.8 = 30
-mvn\:org.apache.karaf.jaas/org.apache.karaf.jaas.config/3.0.8 = 30
-mvn\:org.apache.sshd/sshd-core/0.14.0 = 30
-mvn\:org.apache.karaf.shell/org.apache.karaf.shell.help/3.0.8 = 30
-mvn\:org.apache.karaf.shell/org.apache.karaf.shell.table/3.0.8 = 30
-mvn\:org.apache.karaf.system/org.apache.karaf.system.core/3.0.8 = 30
-mvn\:org.apache.karaf.system/org.apache.karaf.system.command/3.0.8 = 30
-mvn\:org.apache.karaf.shell/org.apache.karaf.shell.commands/3.0.8 = 30
-mvn\:org.apache.aries.quiesce/org.apache.aries.quiesce.api/1.0.0 = 30

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
----------------------------------------------------------------------
diff --git a/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java b/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
index d37ff5f..f260109 100644
--- a/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
+++ b/performance-tests/src/test/java/org/apache/unomi/performancetests/BasicTest.java
@@ -82,7 +82,7 @@ public class BasicTest {
         MavenArtifactUrlReference karafUrl = maven()
                 .groupId("org.apache.karaf")
                 .artifactId("apache-karaf")
-                .version("4.1.1")
+                .version("4.1.5")
                 .type("tar.gz");
 
         MavenUrlReference karafStandardRepo = maven()

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 2838aaa..2cf78ab 100644
--- a/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -183,7 +183,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="updateProperties"/>
         </service-properties>
@@ -193,7 +193,7 @@
         </bean>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="modifyConsent"/>
         </service-properties>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/plugins/request/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/request/pom.xml b/plugins/request/pom.xml
index 1bc3402..f8eb0e6 100644
--- a/plugins/request/pom.xml
+++ b/plugins/request/pom.xml
@@ -82,14 +82,14 @@
 
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.0.1</version>
+            <artifactId>httpclient-osgi</artifactId>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore</artifactId>
-            <version>4.0.1</version>
+            <artifactId>httpcore-osgi</artifactId>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/80440d8a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 839ad18..7411399 100644
--- a/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/plugins/request/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -61,7 +61,7 @@
         </service-properties>
     </service>
 
-    <service auto-export="interfaces">
+    <service interface="org.apache.unomi.api.actions.ActionExecutor">
         <service-properties>
             <entry key="actionExecutorId" value="setRemoteHostInfo"/>
         </service-properties>