Author: ffang
Date: Tue May 21 07:03:41 2013
New Revision: 1484672
URL: http://svn.apache.org/r1484672
Log:
[KARAF-2320]make kar deployer/service to support NoAutoRefreshBundles option
Modified:
karaf/branches/karaf-2.3.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
karaf/branches/karaf-2.3.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
Modified:
karaf/branches/karaf-2.3.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java?rev=1484672&r1=1484671&r2=1484672&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
(original)
+++
karaf/branches/karaf-2.3.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
Tue May 21 07:03:41 2013
@@ -59,6 +59,8 @@ public class KarArtifactInstaller implem
private DocumentBuilderFactory dbf;
private FeaturesService featuresService;
+
+ private boolean noAutoRefreshBundles;
public void init() {
dbf = DocumentBuilderFactory.newInstance();
@@ -180,7 +182,12 @@ public class KarArtifactInstaller implem
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);
}
@@ -497,4 +504,12 @@ public class KarArtifactInstaller implem
this.featuresService = featuresService;
}
+ public boolean isNoAutoRefreshBundles() {
+ return noAutoRefreshBundles;
+ }
+
+ public void setNoAutoRefreshBundles(boolean noAutoRefreshBundles) {
+ this.noAutoRefreshBundles = noAutoRefreshBundles;
+ }
+
}
Modified:
karaf/branches/karaf-2.3.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml?rev=1484672&r1=1484671&r2=1484672&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
(original)
+++
karaf/branches/karaf-2.3.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
Tue May 21 07:03:41 2013
@@ -17,10 +17,19 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
- default-activation="lazy">
+ 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>
+
+
<bean id="karArtifactInstaller"
class="org.apache.karaf.deployer.kar.KarArtifactInstaller"
init-method="init" destroy-method="destroy" activation="lazy">
<property name="basePath" value="$[karaf.base]"/>
@@ -28,6 +37,7 @@
<property name="featuresService">
<reference
interface="org.apache.karaf.features.FeaturesService"/>
</property>
+ <property name="noAutoRefreshBundles"
value="${noAutoRefreshBundles}"/>
</bean>
<service id="karArtifactInstallerService"