什么';NOTNOP java apns中ApnsService.start的用法是什么?我可以使用push方法推送消息,而无需启动()
我只是在没有sv.start()的情况下使用了sv.push(令牌,有效负载),它似乎工作得很好。什么';NOTNOP java apns中ApnsService.start的用法是什么?我可以使用push方法推送消息,而无需启动(),java,push,apple-push-notifications,Java,Push,Apple Push Notifications,我只是在没有sv.start()的情况下使用了sv.push(令牌,有效负载),它似乎工作得很好。 那么start()和stop()有什么用呢?我应该在代码中添加它们吗?您没有请求非阻塞/排队或池化APNS服务,因此生成器返回的默认Impl是ApnsServiceImpl,其start()方法不执行任何操作 sv = APNS.newService() .withCert("./dev.p12", "pwd")
那么start()和stop()有什么用呢?我应该在代码中添加它们吗?您没有请求非阻塞/排队或池化APNS服务,因此生成器返回的默认Impl是
ApnsServiceImpl
,其start()
方法不执行任何操作
sv = APNS.newService()
.withCert("./dev.p12", "pwd")
.withSandboxDestination()
.build();
其他impl,如minadaptor
在start()
上确实有一些init代码
从:
void start():启动服务。潜在的实现可能会失败
准备其连接或数据结构,以便能够发送
信息。此方法是一个阻塞调用,即使服务
表示非阻塞推送服务。一旦服务返回,
它已准备好接受推送请求
在您的情况下,服务似乎已经启动。尝试sv.stop()
然后sv.push()
会发生什么?(它应该失败)
或者@Deepak的解释也可能有效@user2126346它取决于您需要的连接数量和瓶颈所在。池服务维护一个
ConcurrentLinkedQueue
;服务推送(令牌、有效载荷);并且可以成功推送消息。所以push方法可能会自动调用start(),我已经检查了源代码,当我在notnoop apns中获取实例时,服务似乎已经启动了。如果连接失败,它将尝试3次重新连接。
public void start() {
}
public void start() {
cf = connector.connect(new InetSocketAddress(host, port));
cf.awaitUninterruptibly();
}