The Ignite Realtime Community is thrilled to announce the promotion of release version 4.3.0 of Openfire. A changelog denotes 130 Jira issues resolved with this release! There are a few gotchas / unresolved issues we would like to inform you of.
OF-1615Openfire Preference Pane crashes on MacOS.
If you are a Mac user and try to start Openfire via ‘Start Openfire’, it will fail. We are very much desperate for MacOS developers to help us figure out how to fix it.
OF-1647Upgraded Openfire on Windows sometimes fails to start.
Some users have been able to reproduce a bug that an upgraded Openfire to 4.3.0 release will fail to properly start. The workaround is to locate the plugins/admin/webapp/WEB-INF/lib, delete it, then start Openfire again.
OF-1432meaning of property xmpp.pubsub.create.anyone is inverted.
The release of Openfire 4.3.0 corrected the behavior of having that property set. Setting it now to true means that anybody can create pubsub nodes.
OF-1594bookmarks are unexpectedly copied to other users.
It is not clear this bug actually exists, but we wanted to make you aware of it as the Ignite Realtime Openfire host routinely reproduces the issue, but nobody else has :). The impact is that sometimes logged in users are given other users bookmarks. This will cause them to perhaps auto-join rooms with that user’s handle. We hope that this issue is some one-off that is only due to our usage of Ignite Realtime for testing development releases!
OF-1383Support Java 11. (this ticket is not completed, there is no support for Java 10/11 yet, read more below)
Openfire currently requires Java 8 to properly run. We are hoping to support newer JVMs, but need things like upstream releases of Apache MINA to happen.
Have the above issues scared you off yet from trying this release? We certainly hope not! We always recommend you have tested backups and a testing environment to see how this release works for you.
The release can be downloaded from our Downloads Page and the artifacts have the following sha1sums.
A special recognition for this release goes to @guus and @gdt who did a tremendous amount of work in the area of Maven migration and improving how Openfire plugin development happens. Please remember that we are all volunteers here and very much looking for others to help develop, document, and test Openfire. Please stop by our open_chat to say “Hi” if you are interested in learning more!
Note: MySQL Connector/J has been updated to version 8.0.11 in this release. This version only works with MySQL 5.5 or later. Older MySQL versions are not supported by Oracle and will not work with Openfire anymore.
4.3.0 wiped all data of 4.2.3 after upgrade and it showed still 4.2.3 version. I totally reinstalled JDK 8 and 4.3.0.
So there is only one question: While PrefPane is dead, how to launch Openfire server now from terminal?
I tried 4.3.0 (tar.gz version) on RHEL 7. Using the redhat-postinstall.sh script, the openfire.sh script is not executable (so the init.d script doesn’t work). Also when using the internal database and LDAP (this is what I was using), openfire did not shutdown properly for me with init.d (it needed to be killed). In the earlier 4.2.3 version, I created the /bin/openfire.sh (because it was missing) and linked it to /bin/openfire – and that seemed to make init.d/openfired work properly. Now that /bin/openfire.sh is included (and different than /bin/opendfire), stopping openfire with init.d is hangy and it needs to be killed (looks like HSQLDB had trouble in logs during shutdown). Additionally, setting up LDAP in the wizard seems to fail with good known values, but if you restart the install with a fresh browser, it works again.
Just found out now, after a few days, that I cannot enter on web interface!!
HTTP ERROR 500
Problem accessing /index.jsp. Reason:
Server Error
Caused by:
java.lang.NoClassDefFoundError: com/sun/syndication/fetcher/FeedFetcher
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2655)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1372)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1297)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:647)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:803)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.syndication.fetcher.FeedFetcher
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
at java.lang.ClassLoader.loadClass(Unknown Source)
… 45 more
Caused by:
java.lang.ClassNotFoundException: com.sun.syndication.fetcher.FeedFetcher
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2655)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1372)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1297)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:647)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:803)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:411)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:305)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
It is mentioned in the blog post (second bullet point) OF-1647 Upgraded Openfire on Windows sometimes fails to start.
Some users have been able to reproduce a bug that an upgraded Openfire to 4.3.0 release will fail to properly start. The workaround is to locate the plugins/admin/webapp/WEB-INF/lib , delete it, then start Openfire again.