|
发表于 2018-5-22 17:13:20
|
显示全部楼层
目前没有这样的配置需要自己按如下方案实现
1.自己在PushServer中定义一个类继承APNsMessageProcessor
2.修改runtime\PushServer\WEB-INF\justep.xml中
去掉<class certPath="/WEB-INF/cert/push.x5.p12" certPassword="justep" isDev="false">com.justep.push.processor.APNsMessageProcessor</class>的配置
添加自己类的配置,加一个client参数(配置为clientCode的值),不同的client配置自己的证书,如下:
<class certPath="/WEB-INF/cert/aaa.x5.p12" certPassword="justep" isDev="false" client="aaa">com.justep.push.processor.APNsMessageProcessor</class>
<class certPath="/WEB-INF/cert/bbb.x5.p12" certPassword="justep" isDev="false" client="bbb">com.justep.push.processor.APNsMessageProcessor</class>
2.自己定义的类中重写APNsMessageProcessor中的isMatch和setProperty两个方法
public boolean isMatch(SinglePushMessage message) {
if (super.isMatch(message)){
String person = SinglePushMessage.getPerson();//personid
//写sql通过personid到SA_OPOrg中查出clientCode的值
if (this.client.eq(clientCode)) {
return true;
}
return false;
}
public void setProperty(String name, String value, ServletContext context) {//设置justep.xml中的配置属性
if ("client".eq(name)){
this.client = name;
}else{
super.setProperty(name, value, context);
}
}
需要注意从数据库获取后最好自己缓存起来下次从缓存中存,对性能有所优化
消息服务器的地址就是一个,android是不分包名的,只有苹果才分包名,苹果是不走消息服务的
|
|