尝试获取Apple Push通知以与我的Spring Boot项目一起使用.
我正在使用此apns-http2发送推送通知.从他们的github页面:
Note: Ensure that you have Jetty’s ALPN JAR (OkHttp requires it) in
your boot classpath. See here for more information. This is required
until Java 9 is released,as Java 8 does not have native support for
HTTP/2.
所以我添加了vm选项
Xbootclasspath/p:/Users/sarath/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/8.1.9.v20160720//alpn-boot-8.1.9.v20160720.jar
在Intellij中运行配置,一切正常.我收到推送通知.
但是,当我将战争部署到tomcat并尝试发送推送通知时,出现了错误:
20-Apr-2019 13:08:33.400 INFO [OkHttp https://api.development.push.apple.com/3/device/A704797F6E1E284FB081630184A26755B59593715E1CD543483C2136CE24D4FD] okhttp3.internal.Platform$JdkWithJettyBootPlatform.getSelectedProtocol ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?
20-Apr-2019 13:08:34.935 INFO [OkHttp https://api.development.push.apple.com/3/device/A704797F6E1E284FB081630184A26755B59593715E1CD543483C2136CE24D4FD] okhttp3.internal.Platform$JdkWithJettyBootPlatform.getSelectedProtocol ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?
20-Apr-2019 13:08:36.588 INFO [OkHttp https://api.development.push.apple.com/3/device/A704797F6E1E284FB081630184A26755B59593715E1CD543483C2136CE24D4FD] okhttp3.internal.Platform$JdkWithJettyBootPlatform.getSelectedProtocol ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?
20-Apr-2019 13:08:38.109 INFO [OkHttp https://api.development.push.apple.com/3/device/A704797F6E1E284FB081630184A26755B59593715E1CD543483C2136CE24D4FD] okhttp3.internal.Platform$JdkWithJettyBootPlatform.getSelectedProtocol ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?
failure: NotificationResponse{error=null,httpStatusCode=-1,responseBody='null',cause=java.io.IOException: unexpected end of stream on [email protected]}
我不确定如何在启动类路径上设置alpn-boot.我尝试执行
java -Xbootclasspath/p:/Users/sarath/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/8.1.9.v20160720/alpn-boot-8.1.9.v20160720.jar
从命令提示符.但这仅显示了一些Java帮助命令.不知道jar是否实际上已添加到引导类路径.
我还尝试过使用maven-surefire-plugin,就像它说的是here.但是仍然出现相同的错误.
这是我的pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.cinch
gch
2.0.0
../pom.xml
com.cinch.gch
apn
1.0.0
war
apn
Contains push notification services
1.8
8.1.9.v20160720
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-activemq
com.cinch.gch
core
1.0.0
org.springframework.boot
spring-boot-starter-data-jpa
MysqL
MysqL-connector-java
com.cinch
gch-cache
org.mortbay.jetty.alpn
alpn-boot
${alpn-boot-version}
runtime
com.clevertap.apns
apns-http2
1.0.3
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
org.apache.maven.plugins
maven-war-plugin
2.6
false
maven-surefire-plugin
-Xbootclasspath/p:/Users/sarath/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/${alpn-boot-version}/alpn-boot-${alpn-boot-version}.jar
gch-apn
我尝试了许多其他操作,但似乎没有任何效果.任何帮助表示赞赏.