在notnoop java-apns中使用ApnsService.start有什么用?我可以用push方法推送msg而不用start()

时间:2013-04-10 10:06:34

标签: java push apple-push-notifications

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

我只使用没有sv.start()的sv.push(令牌,有效负载),它似乎运行良好。 那么start()和stop()的用途是什么?我应该在我的代码中添加它们吗?

2 个答案:

答案 0 :(得分:0)

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

    public void start() {
}

MinaAdaptor之类的其他Impl在start()上有一些初始化代码。

public void start() {
    cf = connector.connect(new InetSocketAddress(host, port));
    cf.awaitUninterruptibly();
}

答案 1 :(得分:0)

来自javadocs

  

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

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

或@ Deepak的解释也是有效的