Openfire 3.10.0 Beta

Hey everyone,

Since I took on the role of Openfire project lead, the Openfire developers have been working amazingly hard across almost every part of the server’s code, with a view to making a new release we can all be really proud of.

After a huge amount of work, the Openfire team is really excited to announce we’ve reached a beta state with the 3.10.0 release, available from http://www.igniterealtime.org/downloads/beta.jsp

This release aims to improve security and stability over the current 3.9.3 stable release, provides a set of important new protocol extensions, and modernizes the XMPP core protocol support - in short, this is going to be the release we wanted to make.

While this is a beta release, we’re not recommending it for critical production use; however this is running on igniterealtime.org itself and developer sites, and we’d appreciate people trying it out in non-critical production cases.

We’re hoping it’ll reach full release rapidly, and we’ll be welcoming experiences of anyone deploying so we can add that last polish. Having dealt with the last remaining blocking bug, we’re expecting this to move to a final stable release within a week or two.

Dave.

2 Likes

Great

Great news. Will you also provide a Debian package? I tried a nightly trunk build of a debian package and an exception (and http binding is not working - with 3.9.3 it works for me):

size: 17629592 Jan 18 14:17 openfire_3.10.0_all.deb

2015.01.22 22:53:07 org.jivesoftware.openfire.XMPPServer - Openfire 3.10.0 Alpha [22.01.2015 22:53:07]

2015.01.22 22:53:11 org.eclipse.jetty.util.component.AbstractLifeCycle - FAILED o.e.j.s.ServletContextHandler@9e851f6{/ws,null,STARTING}: java.lang.NoClassDefFoundError: org/eclipse/jetty/http/HttpException

java.lang.NoClassDefFoundError: org/eclipse/jetty/http/HttpException

at org.eclipse.jetty.websocket.WebSocketServlet.init(WebSocketServlet.java:56)

at javax.servlet.GenericServlet.init(GenericServlet.java:244)

at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:582)

at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:372)

at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:847)

at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHand ler.java:300)

at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:744 )

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java :68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.ja va:125)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle. java:107)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:6 0)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandle rCollection.java:154)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java :68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.ja va:125)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle. java:107)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:6 0)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java :68)

at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.ja va:125)

at org.eclipse.jetty.server.Server.start(Server.java:358)

at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle. java:107)

at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:6 0)

at org.eclipse.jetty.server.Server.doStart(Server.java:325)

at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java :68)

at org.jivesoftware.openfire.http.HttpBindManager.start(HttpBindManager.java:170)

at org.jivesoftware.openfire.spi.ConnectionManagerImpl.startHTTPBindListeners(Conn ectionManagerImpl.java:567)

at org.jivesoftware.openfire.spi.ConnectionManagerImpl.startListeners(ConnectionMa nagerImpl.java:187)

at org.jivesoftware.openfire.spi.ConnectionManagerImpl.access$000(ConnectionManage rImpl.java:91)

at org.jivesoftware.openfire.spi.ConnectionManagerImpl$1.pluginsMonitored(Connecti onManagerImpl.java:159)

at org.jivesoftware.openfire.container.PluginManager.firePluginsMonitored(PluginMa nager.java:562)

at org.jivesoftware.openfire.container.PluginManager.access$800(PluginManager.java :76)

at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1078)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (ScheduledThreadPoolExecutor.java:178)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Schedu ledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.http.HttpException

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

… 38 more

Thanks,

Michael

Michael,

Report issues in the forums… This issue is likely due to old .jar files in your lib/ folder of openfire

bugbusters.jpg

Excellent stuff! well done team (dave, tom, daryl and all)

Any chance of including the jmxweb plugin in OF 3.10 final or next beta.

I have been informed that a web based JMX console is pretty good and catching those pesky creepy crawlies before they become a full infestation.

Do not know how anyone.

Sometime problem comes with authorization from the clients (spark).

I’m not surprised you guys won’t include a systemd unit file. Even arch provides one.

For those using a SystemD machine… here you go. Better than the init script, since stopping the init script doesn’t really stop openfire. (No really, it doesn’t).

Good release though.

[nazu@healer tmp]$ cat /etc/systemd/system/openfire.service [Unit] Description=Openfire XMPP Server After=network.target  [Service] Type=simple User=daemon Group=daemon PrivateTmp=true ## Comment the below to use the system Java ExecStart=/opt/openfire/jre/bin/java -server -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/openfire/lib -classpath /opt/openfire/lib/startup.jar -jar /opt/openfire/lib/startup.jar ## Uncomment to use system available java (RECOMMENDED if you are in a qualys scanned/PCI environment!) #ExecStart=/usr/bin/java -server -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/openfire/lib -classpath /opt/openfire/lib/startup.jar -jar /opt/openfire/lib/startup.jar SuccessExitStatus=143 SIGKILL  [Install] WantedBy=multi-user.target

congrats and good work.

Patches welcome :stuck_out_tongue:

After removing the plugin websocket the exception is gone.

Thanks

congrats

Hi Dave,

When is 3.10 scheduled to release for production use ?

-Shil