Openfire 4.3.2 / CallbackOnOffline 1.2.0 / NoClassDefFoundError JacksonJaxbJsonProvider

Hi,

First of all good job Openfire is working well and the solution is good !

My issue : I changed to the last Openfire 4.3.2 and upgraded CallbackOnOffline to 1.2.0.

The call back is not working anymore, Could you help me ?
Do I need to add JacksonJaxbJsonProvider jar ?

I have this in the log :




java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/json/JacksonJaxbJsonProvider
at org.glassfish.jersey.jackson.JacksonFeature.configure(JacksonFeature.java:85) ~[?:?]
at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:714) ~[?:?]
at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:644) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State.configureMetaProviders(ClientConfig.java:372) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:405) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State.access$000(ClientConfig.java:90) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State$3.get(ClientConfig.java:122) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State$3.get(ClientConfig.java:119) ~[?:?]
at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:340) ~[?:?]
at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:733) ~[?:?]
at org.glassfish.jersey.client.ClientRequest.getConfiguration(ClientRequest.java:285) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.validateHttpMethodAndEntity(JerseyInvocation.java:135) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.(JerseyInvocation.java:105) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.(JerseyInvocation.java:101) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.(JerseyInvocation.java:92) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.method(JerseyInvocation.java:642) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.post(JerseyInvocation.java:520) ~[?:?]
at com.fotsum.CallbackOnOffline.interceptPacket(CallbackOnOffline.java:127) ~[?:?]
at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:268) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:230) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:172) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:384) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:109) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:238) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:201) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:177) [xmppserver-4.3.2.jar:4.3.2]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:769) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:761) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:703) [mina-core-2.0.7.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]

I tried with same, breaking at the loops repeatedly for me.

Regards,
J. Smith . https://showbox.run/ . https://kodi.software/

Openfire currently only works with Java 8. It looks like you’re running with Java 9 or higher.

Greg

No I am using java 8 :

Java Version: 1.8.0_181 Oracle Corporation – Java HotSpot™ 64-Bit Server VM
Appserver: jetty/9.4.12.v20180830
Server Host Name (FQDN): ns3125984.ip-51-68-32.eu
OS / Hardware: Linux / amd64
Locale / Timezone: en / Central European Time (1 GMT)
OS Process Owner: openfire

I also tried with java-8-openjdk-amd6, same results it seems not to be linked to the JVM

OK, most likely it is a missing dependency from somewhere. Try adding the JAR file to see if it helps, in the meantime I’ve raised https://github.com/igniterealtime/openfire-callbackOnOffline-plugin/issues/2 to track this.

Greg

Okay Thanks a lot for your help !

I tried to use the lastest SNAPSHOT jar : 1.2.1-SNAPSHOT and I have this problem :

java.lang.IllegalStateException: InjectionManagerFactory not found.
at org.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManagerFactory$0(Injections.java:98) ~[?:?]
at java.util.Optional.orElseThrow(Optional.java:290) ~[?:1.8.0_191]
at org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:98) ~[?:?]
at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:68) ~[?:?]
at org.glassfish.jersey.client.ClientConfig$State.initRuntime(ClientConfig.java:432) ~[?:?]
at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:341) ~[?:?]
at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:826) ~[?:?]
at org.glassfish.jersey.client.ClientRequest.getConfiguration(ClientRequest.java:285) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.validateHttpMethodAndEntity(JerseyInvocation.java:143) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:112) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:108) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation.<init>(JerseyInvocation.java:99) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.method(JerseyInvocation.java:713) ~[?:?]
at org.glassfish.jersey.client.JerseyInvocation$AsyncInvoker.post(JerseyInvocation.java:591) ~[?:?]
at com.fotsum.CallbackOnOffline.interceptPacket(CallbackOnOffline.java:130) ~[?:?]
at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:268) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(InterceptorManager.java:230) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:172) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:79) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:384) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHandler.java:109) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:238) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:201) [xmppserver-4.3.2.jar:4.3.2]
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:177) [xmppserver-4.3.2.jar:4.3.2]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407) [mina-core-2.0.7.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) [mina-core-2.0.7.jar:?]
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) [mina-core-2.0.7.jar:?]

Can you try the latest SNAPSHOT at https://www.igniterealtime.org/projects/openfire/plugin-archive.jsp?plugin=callbackOnOffline (dated Mar 19, 2019 3:17:12 PM in my - UK - Locale).

That seems to fix it for me, but I’d like to get confirmation before I re-release the plugin.

Greg

1 Like

Hi Greg,

I did the update and now it’s working well !
Thanks a lot for the help and the work you have done !

I wish you a very good day !

Regards,
Jean Sébastien FORT

Now properly released as version 1.2.1 at https://www.igniterealtime.org/projects/openfire/plugin-archive.jsp?plugin=callbackOnOffline

1 Like