2012-11-28 37 views
3

如何在CQ5中通過OSGI控制檯配置聲明式服務。 我能夠構建樣例服務,捆綁代碼我得到了罐子,並通過捆綁安裝從 OSGI控制檯如何在CQ5中配置聲明式服務

+0

您可能會發現[這些說明](http://dev.day.com/docs/en/cq/current/deploying/configuring_osgi.html#Using %20the%20Apache%20Felix%20Web%20Management%20Console)有幫助。 –

回答

4

第一步是定義您的服務有配置參數。你可能有這樣的事情:

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

相關問題