3
如何在CQ5中通過OSGI控制檯配置聲明式服務。 我能夠構建樣例服務,捆綁代碼我得到了罐子,並通過捆綁安裝從 OSGI控制檯如何在CQ5中配置聲明式服務
如何在CQ5中通過OSGI控制檯配置聲明式服務。 我能夠構建樣例服務,捆綁代碼我得到了罐子,並通過捆綁安裝從 OSGI控制檯如何在CQ5中配置聲明式服務
第一步是定義您的服務有配置參數。你可能有這樣的事情:
package com.sample.osgi;
import java.util.Map;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Modified;
import org.apache.felix.scr.annotations.Property;
@Component(label = "Service Label", description = "Service Description", metatype = true, immediate = true)
public class ConfigurableService {
@Property(value="default value", label = "Sample Parameter", description = "Example of a component parameter")
private static final String SAMPLE_PARAM_NAME = "param.one";
@Activate
protected void activate(final Map<String, Object> props) {
this.update(props);
}
@Modified
protected void update(final Map<String, Object> props) {
System.out.println(props.get(SAMPLE_PARAM_NAME));
}
}
一旦你有你的服務,你應該使用Maven生成SCR描述,創建您的包,並將其部署到本地服務器。這在this page上描述。
部署完成後,您應該能夠在服務器上的felix控制檯中看到您的服務。例如:
http://localhost:4502/system/console/configMgr/com.sample.osgi.ConfigurableService
我們與@Modified註釋添加了一個更新的方法,您的組件,因爲它們是通過調用該方法制造收到更新的配置值。
您可以找到註解SCR更多信息on the felix site
您可能會發現[這些說明](http://dev.day.com/docs/en/cq/current/deploying/configuring_osgi.html#Using %20the%20Apache%20Felix%20Web%20Management%20Console)有幫助。 –