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

我已将 Mobilefirst Platform Foundations 8.0 更新为目前可用的最新修复 (8.0.0.0-MPFF-IF202011111304) 应用修复后,我们没有遇到任何问题,但是当我们尝试发送 IOS 推送通知我们收到此错误:

[1/22/21 10:05:36:058 CST] 00000484 Mediator E com.ibm.mfp.push.server.notification.Mediator submitNotification FPWSE1081E: Failure sending notification. See the server log file for more details. java.lang.UnsatisfiedLinkError: failed to load the required native library at io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:474) at io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:196) at io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:185) at io.netty.handler.ssl.OpenSslContext.(OpenSslContext.java:34) at io.netty.handler.ssl.OpenSslClientContext.(OpenSslClientContext.java:189) at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:827) at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:576) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:433) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.sendNotification(NettyApplicationConnection.java:137) at com.ibm.mfp.push.server.notification.apns.APNSMediator.sendNotification(APNSMediator.java:166) at com.ibm.mfp.push.server.notification.Mediator.run(Mediator.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.lang.Thread.run(Thread.java:822) Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_aix_ppc_64, netty_tcnative_ppc_64, netty_tcnative] at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:104) at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:581) at io.netty.handler.ssl.OpenSsl.(OpenSsl.java:133) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:419) ... 8 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_aix_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_aix_ppc_64.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_ppc_64.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more

根据报错,好像是少了一个库。在 war 内部搜索我发现,没有用于 aix 的库。

有人遇到同样的问题,还是我应该向 IBM 开个案?

谢谢!

请向 IBM 创建案例,以便我们跟踪并及时提供 update/solution。 我们知道这个问题并正在努力解决。到那时请使用 Legacy 协议发送 APNS 通知。

要切换到 Legacy 协议,您需要将 JNDI 下方设置为 false

<jndiEntry jndiName="imfpush/mfp.push.apns.http2.enabled" value= '"false"'/>

谢谢。