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"'/>
谢谢。
我已将 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"'/>
谢谢。