Mobilefirst 8.0 错误 IOS 推送通知。无法加载 netty_tcnative_aix_ppc_64、netty_tcnative_ppc_64、netty_tcnative
Posted
技术标签:
【中文标题】Mobilefirst 8.0 错误 IOS 推送通知。无法加载 netty_tcnative_aix_ppc_64、netty_tcnative_ppc_64、netty_tcnative【英文标题】:Mobilefirst 8.0 Error IOS PUSH Notifications. Failed to load netty_tcnative_aix_ppc_64, netty_tcnative_ppc_64, netty_tcnative 【发布时间】:2021-01-22 23:33:50 【问题描述】:我已将 Mobilefirst Platform Foundations 8.0 更新为目前可用的最后一个修复程序 (8.0.0.0-MFPF-IF202011111304) 应用修复程序后,我们没有遇到任何问题,但是当我们尝试发送 ios 推送通知时,我们收到此错误:
[1/22/21 10:05:36:058 CST] 00000484 调解员 E com.ibm.mfp.push.server.notification.Mediator submitNotification FPWSE1081E: 发送通知失败。请参阅服务器日志文件以获取 更多细节。 java.lang.UnsatisfiedLinkError:未能加载所需的本机库 io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:474) 在 io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:196) 在 io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:185) 在 io.netty.handler.ssl.OpenSslContext.(OpenSslContext.java:34) 在 io.netty.handler.ssl.OpenSslClientContext.(OpenSslClientContext.java:189) 在 io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:827) 在 io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:576) 在 com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:433) 在 com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.sendNotification(NettyApplicationConnection.java:137) 在 com.ibm.mfp.push.server.notification.apns.APNSMediator.sendNotification(APNSMediator.java:166) 在 com.ibm.mfp.push.server.notification.Mediator$2.run(Mediator.java:105) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522) 在 java.util.concurrent.FutureTask.run(FutureTask.java:277) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 在 java.lang.Thread.run(Thread.java:822) 引起: java.lang.IllegalArgumentException:无法加载任何给定的 库:[netty_tcnative_aix_ppc_64,netty_tcnative_ppc_64, netty_tcnative] 在 io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:104) 在 io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:581) 在 io.netty.handler.ssl.OpenSsl.(OpenSsl.java:133) 在 com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:419) ... 8 更多被抑制:java.lang.UnsatisfiedLinkError: could not 加载本机库:netty_tcnative_aix_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) 在 io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 更多原因:java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_aix_ppc_64.a 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64(在 java.library.path 中找不到)在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64(在 java.library.path 中找不到) 在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在 java.lang.reflect.Method.invoke(Method.java:508) 在 io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) 在 java.security.AccessController.doPrivileged(AccessController.java:678) 在 io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 更多抑制:java.lang.UnsatisfiedLinkError:无法加载本机库:netty_tcnative_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) 在 io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 更多原因:java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_ppc_64.a 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64(在 java.library.path 中找不到)在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64(在 java.library.path 中找不到) 在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在 java.lang.reflect.Method.invoke(Method.java:508) 在 io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) 在 java.security.AccessController.doPrivileged(AccessController.java:678) 在 io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 更多被抑制:java.lang.UnsatisfiedLinkError:无法加载本机库:netty_tcnative at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) 在 io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 更多原因:java.io.FileNotFoundException: META-INF/native/libnetty_tcnative.a 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative(在 java.library.path 中找不到)在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) 在 io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 更多抑制:java.lang.UnsatisfiedLinkError: netty_tcnative(在 java.library.path 中找不到) 在 java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) 在 java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) 在 java.lang.System.loadLibrary(System.java:584) 在 io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在 java.lang.reflect.Method.invoke(Method.java:508) 在 io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) 在 java.security.AccessController.doPrivileged(AccessController.java:678) 在 io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) 在 io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 更多
根据错误,似乎缺少库。在战争中搜索我发现,没有用于 aix 的库。
有人遇到同样的问题,还是我应该向 IBM 立案?
谢谢!
【问题讨论】:
【参考方案1】:请与 IBM 创建一个案例,以便我们可以跟踪它并提供及时的更新/解决方案。 我们已经意识到这个问题并正在努力解决。在此之前,请使用 Legacy 协议发送 APNS 通知。
要切换到 Legacy 协议,您需要在 JNDI 下面设置为 false
<jndiEntry jndiName="imfpush/mfp.push.apns.http2.enabled" value= '"false"'/>
谢谢。
【讨论】:
我应用了该属性,它解决了问题。谢谢以上是关于Mobilefirst 8.0 错误 IOS 推送通知。无法加载 netty_tcnative_aix_ppc_64、netty_tcnative_ppc_64、netty_tcnative的主要内容,如果未能解决你的问题,请参考以下文章
Mobilefirst 8.0 推送通知 API - 推送设备注册 (POST)
IBM mobileFirst 8.0 中带有图像的促销推送通知
无法安装应用程序,因为证书在带有 MobileFIrst 8.0 的 iOS10.3.3 中无效
在 Mobilefirst V7.1 上使用 Clevertap 推送通知在启动画面上出现 iOS 应用程序崩溃问题
是否可以启用使用 MobileFirst SDK7.1 开发的推送通知可以运行 MobileFirst Server V8.0?