0
                  sv = APNS.newService()
            .withCert("./dev.p12", "pwd") 
            .withSandboxDestination()
            .build();   

我只是使用没有 sv.start() 的 sv.push(token, payload),看起来效果很好。那么 start() 和 stop() 有什么用呢?我应该将它们添加到我的代码中吗?

4

2 回答 2

0

您没有请求非阻塞/排队或池化 APNS 服务,因此构建器返回的默认 Impl 是ApnsServiceImplstart()方法不执行任何操作。

    public void start() {
}

其他类似的 ImplsMinaAdaptor确实有一些 init 代码start()

public void start() {
    cf = connector.connect(new InetSocketAddress(host, port));
    cf.awaitUninterruptibly();
}
于 2013-04-10T10:11:38.503 回答
0

javadocs

void start():启动服务。底层实现可以准备其连接或数据结构以便能够发送消息。此方法是一个阻塞调用,即使该服务表示一个非阻塞推送服务。一旦服务返回,它就可以接受推送请求了。

在您的情况下,该服务似乎已经启动。尝试sv.stop()然后sv.push()会发生什么?(它应该失败)

或者@Deepak 的解释也可以是有效的

于 2013-04-10T10:12:10.753 回答