Author: ffang
Date: Tue May 21 07:28:46 2013
New Revision: 1484680
URL: http://svn.apache.org/r1484680
Log:
[KARAF-2320]make kar deployer/service to support NoAutoRefreshBundles option
Modified:
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml
Modified:
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java?rev=1484680&r1=1484679&r2=1484680&view=diff
==============================================================================
---
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
(original)
+++
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
Tue May 21 07:28:46 2013
@@ -63,6 +63,8 @@ public class KarServiceImpl implements K
private File storage;
private File base;
private FeaturesService featuresService;
+
+ private boolean noAutoRefreshBundles;
public KarServiceImpl(String karafBase, FeaturesService featuresService) {
this.base = new File(karafBase);
@@ -206,7 +208,12 @@ public class KarServiceImpl implements K
try {
for (Feature feature : repository.getFeatures()) {
try {
- featuresService.installFeature(feature,
EnumSet.noneOf(FeaturesService.Option.class));
+ LOGGER.debug("noAutoRefreshBundles is " +
isNoAutoRefreshBundles());
+ if (isNoAutoRefreshBundles()) {
+ featuresService.installFeature(feature,
EnumSet.of(FeaturesService.Option.NoAutoRefreshBundles));
+ } else {
+ featuresService.installFeature(feature,
EnumSet.noneOf(FeaturesService.Option.class));
+ }
} catch (Exception e) {
LOGGER.warn("Unable to install Kar feature
{}", feature.getName() + "/" + feature.getVersion(), e);
}
@@ -364,4 +371,12 @@ public class KarServiceImpl implements K
}
}
+ public boolean isNoAutoRefreshBundles() {
+ return noAutoRefreshBundles;
+ }
+
+ public void setNoAutoRefreshBundles(boolean noAutoRefreshBundles) {
+ this.noAutoRefreshBundles = noAutoRefreshBundles;
+ }
+
}
Modified:
karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml
URL:
http://svn.apache.org/viewvc/karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml?rev=1484680&r1=1484679&r2=1484680&view=diff
==============================================================================
--- karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml
(original)
+++ karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml Tue
May 21 07:28:46 2013
@@ -17,9 +17,17 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
+
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
default-activation="lazy">
<ext:property-placeholder placeholder-prefix="$[" placeholder-suffix="]" />
+
+ <!-- AdminConfig property place holder for the org.apache.karaf.kar -->
+ <cm:property-placeholder persistent-id="org.apache.karaf.kar"
update-strategy="reload">
+ <cm:default-properties>
+ <cm:property name="noAutoRefreshBundles" value="false"/>
+ </cm:default-properties>
+ </cm:property-placeholder>
<reference id="featuresService"
interface="org.apache.karaf.features.FeaturesService"/>
<reference id="configAdmin"
interface="org.osgi.service.cm.ConfigurationAdmin" />
@@ -27,6 +35,7 @@
<bean id="karService" class="org.apache.karaf.kar.internal.KarServiceImpl">
<argument value="$[karaf.base]" />
<argument ref="featuresService" />
+ <property name="noAutoRefreshBundles" value="${noAutoRefreshBundles}"/>
</bean>
<service ref="karService" interface="org.apache.karaf.kar.KarService"/>
@@ -41,4 +50,4 @@
</service-properties>
</service>
-</blueprint>
\ No newline at end of file
+</blueprint>