这个类是最不想写的,因为看不懂啥意思,结合使用的地方看,这个类就是设置下代理地址到指定的系统属性或者jvm属性,获取当前服务器是否有代理设置
类名为ProxyManager
private static final String LOCAL_PROXY_HOST_PROPERTY = “javapns.communication.proxyHost”;系统属性key
private static final String LOCAL_PROXY_PORT_PROPERTY = “javapns.communication.proxyPort”;
private static final String JVM_PROXY_HOST_PROPERTY = “https.proxyHost”;jvm属性key
private static final String JVM_PROXY_PORT_PROPERTY = “https.proxyPort”;
private ProxyManager() {};构造函数
public static void setProxy(String host, String port) {;配置系统属性地址和端口,用于javaPns创建https链接
System.setProperty(LOCAL_PROXY_HOST_PROPERTY, host);
System.setProperty(LOCAL_PROXY_PORT_PROPERTY, port);
}
public static void setJVMProxy(String host, String port) {;配置jvm属性地址和端口,用于任意地方创建的https链接
System.setProperty(JVM_PROXY_HOST_PROPERTY, host);
System.setProperty(JVM_PROXY_PORT_PROPERTY, port);
}
public static String getProxyHost(AppleServer server);获取指定服务器的当前配置的代理地址,如果没有就获取系统属性的配置,如果没有就获取jvm中的配置,否则返回null;
public static int getProxyPort(AppleServer server) ;获取指定服务器的当前配置的代理端口,如果没有就获取系统属性的配置,如果没有就获取jvm中的配置,否则返回0;
public static boolean isUsingProxy(AppleServer server);获取指定服务器是否配置有地址
其实JavaPns在推送过程中,使用设置为常量的推送地址,设置不设置到系统属性或者jvm属性都没什么问题,所以代码中并没有调用设置属性的方法。