我正在寻找基于OSGi模型的应用程序。其中一个要素是网络访问(最初是http和obr)
我正在寻找一种方法将网络配置(代理,加密等)集中到一个应用程序其余部分可以调用的捆绑包中。
有没有人这样做/有想法?
由于
答案 0 :(得分:4)
在这种情况下,一种可能性是创建一个OSGi服务或一组服务(可能封装在一个单独的包中),它将提供所有必需的网络访问方法。服务本身可以通过{em> OSGi Service Compendium 中的Configuration Admin Service进行配置。
服务提供的某些方法实际上可以是用于创建预配置网络访问对象(如java.net.URLConnection或java.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;
}
}