sv = APNS.newService()
.withCert("./dev.p12", "pwd")
.withSandboxDestination()
.build();
我只是使用没有 sv.start() 的 sv.push(token, payload),看起来效果很好。那么 start() 和 stop() 有什么用呢?我应该将它们添加到我的代码中吗?
sv = APNS.newService()
.withCert("./dev.p12", "pwd")
.withSandboxDestination()
.build();
我只是使用没有 sv.start() 的 sv.push(token, payload),看起来效果很好。那么 start() 和 stop() 有什么用呢?我应该将它们添加到我的代码中吗?
您没有请求非阻塞/排队或池化 APNS 服务,因此构建器返回的默认 Impl 是ApnsServiceImpl
其start()
方法不执行任何操作。
public void start() {
}
其他类似的 ImplsMinaAdaptor
确实有一些 init 代码start()
。
public void start() {
cf = connector.connect(new InetSocketAddress(host, port));
cf.awaitUninterruptibly();
}
从javadocs:
void start():启动服务。底层实现可以准备其连接或数据结构以便能够发送消息。此方法是一个阻塞调用,即使该服务表示一个非阻塞推送服务。一旦服务返回,它就可以接受推送请求了。
在您的情况下,该服务似乎已经启动。尝试sv.stop()
然后sv.push()
会发生什么?(它应该失败)
或者@Deepak 的解释也可以是有效的