gpt4 book ai didi

java - 如何获取存储在 ConfigAdmin 中的属性?

转载 作者:行者123 更新时间:2023-12-01 11:28:58 27 4
gpt4 key购买 nike

我已经创建了加载一些属性的 ConfigAdmin。之后我救了他们。我的问题是:如何获取我存储的属性?
我已经在 Activator.java 中创建了 ConfigAdmin:

public class Activator implements BundleActivator {

private String configFile = "API.properties";
@Override
public void start(BundleContext bundleContext) throws Exception {
InputStream stream = (bundleContext.getBundle().getResource(configFile)).openStream();
Properties properties = new Properties();
properties.load(stream);
createConfigAdmin(properties);
}

@Override
public void stop(BundleContext bundleContext) throws Exception {

}
private boolean createConfigAdmin(Properties properties, BundleContext context) {
try {
Dictionary<String, String> props = new Hashtable<String, String>();
ServiceReference reference = context.getServiceReference(ConfigurationAdmin.class.getName());
ConfigurationAdmin admin = (ConfigurationAdmin) context.getService(reference);
Configuration configuration = admin.createFactoryConfiguration(pid.configAdminPID, null);
for(final String name: properties.stringPropertyNames())
props.put(name, properties.getProperty(name));
configuration.update(props);
return true;
} catch(Exception e)
{
e.printStackTrace();
return false;
}
}
}

最佳答案

您真的打算创建工厂配置吗?仅当您想为同一个工厂 pid 创建多个配置时才需要它。如果您只想创建一个简单的配置,那么只需使用 admin.getConfiguration(oid) 就可以像现在一样更新配置。

如果您想稍后读取配置,只需再次获取即可。如果您想使用此配置来配置 bundle ,您通常将创建一个 ManagedService 并发布它。请参阅http://liquid-reality.de/display/liquid/2011/09/23/Karaf+Tutorial+Part+2+-+Using+the+Configuration+Admin+Service

关于java - 如何获取存储在 ConfigAdmin 中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30582580/

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