Java OSGi集中式网络配置

时间:2009-09-01 08:43:39

标签: java networking osgi

我正在寻找基于OSGi模型的应用程序。其中一个要素是网络访问(最初是http和obr)

我正在寻找一种方法将网络配置(代理,加密等)集中到一个应用程序其余部分可以调用的捆绑包中。

有没有人这样做/有想法?

由于

1 个答案:

答案 0 :(得分:4)

在这种情况下,一种可能性是创建一个OSGi服务或一组服务(可能封装在一个单独的包中),它将提供所有必需的网络访问方法。服务本身可以通过{em> OSGi Service Compendium 中的Configuration Admin Service进行配置。

服务提供的某些方法实际上可以是用于创建预配置网络访问对象(如java.net.URLConnectionjava.net.Socket)的工厂方法。例如:

public interface NetworkService {
    public Socket createSocket();
}

class NetworkServiceImpl implements NetworkService {
    static final Proxy DEFAULT_PROXY = new Proxy(...);

    public Socket createSocket() {
        Socket s = new Socket(DEFAULT_PROXY);
        s.setReceiveBufferSize(4096);
        return s;
    } 
}