gpt4 book ai didi

java - 有没有办法访问包的类代码中 @Component 声明的服务属性?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:46 26 4
gpt4 key购买 nike

我有一个 osgi 服务组件,其属性在 @Component 装饰器(特别是事件主题)上设置。有没有办法访问代码中的事件主题值?更好的是,有没有一种方法可以动态控制我需要将此服务包注册为监听器的事件主题?

@Component( immediate=true, service = {EventHandler.class}, 
property = {"event.topics=PRICES/STOCKS/NASDAQ/SH"})
public class OrderEntry implements EventHandler{

@Activate
protected void activate(){
// TODO:
// access event.topics property values
}

}

最佳答案

您可以在 activate() 方法中获取 ComponentContextComponentContext 通过 getProperties() 方法提供对属性的访问。不幸的是,这是一本字典......

@Component( immediate=true, service = {EventHandler.class}, 
property = {"event.topics=PRICES/STOCKS/NASDAQ/SH"})
public class OrderEntry implements EventHandler{

@Activate protected void activate(ComponentContext context){
System.out.println("Props " + context.getProperties());
}

}

关于java - 有没有办法访问包的类代码中 @Component 声明的服务属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com