powered by Jive Software

Upgrading Jetty to 6.1.18

Folks,

To upgrade Jetty (from 6.1.5 to 6.1.18, http://dist.codehaus.org/jetty/), you need to replace all Jetty related libs (under build/lib) in the Openfire source tree, then do a full build. If you do not replace all versions you will see various trace back errors in the log files, specifically “java.lang.IncompatibleClassChangeError: Implementing class”, and “failed org.mortbay.jetty.servlet.HashSessionManager@5999c55a java.lang.NullPointerException”. In some cases you need to rename the updated jars to replace the older versions, and in others you need to simple add the jar to the corresponding directory, being careful to delete the old version. Note I am running the server (e.g. OPF v.3.6.3) on FreeBSD 7.1-RELEASE.

HTH,

BEA

PS Appears Jetty 6.1.19 has been released as well.

172143 May 18 10:52 ./dist/jetty-6.1.18/lib/jetty-util-6.1.18.jar

525488 May 18 10:53 ./dist/jetty-6.1.18/lib/jetty-6.1.18.jar

134190 May 18 10:53 ./dist/jetty-6.1.18/lib/servlet-api-2.5-20081211.jar

18361 May 18 10:54 ./dist/jetty-6.1.18/lib/ext/jetty-sslengine-6.1.18.jar

7360 May 18 10:53 ./dist/jetty-6.1.18/lib/jsp-2.0/slf4j-simple-1.3.1.jar

12231 May 18 05:40 ./dist/jetty-6.1.18/lib/jsp-2.0/slf4j-api-1.3.1.jar

55012 May 18 10:53 ./dist/jetty-6.1.18/lib/jsp-2.0/jsp-api-2.0.jar

62983 May 18 10:53 ./dist/jetty-6.1.18/lib/naming/activation-1.1.jar

2009.08.13 14:34:04 [org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.jav a:507)] Error loading plugin: /usr/local/share/java/openfire/plugins/admin

java.lang.IncompatibleClassChangeError: Implementing class

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)

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

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

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

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

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

    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

    at org.jivesoftware.openfire.container.AdminConsolePlugin.startup(AdminConsolePlug in.java:105)

    at org.jivesoftware.openfire.container.AdminConsolePlugin.initializePlugin(AdminCo nsolePlugin.java:174)

    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :448)

    at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java :47)

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

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

    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

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

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (ScheduledThreadPoolExecutor.java:98)

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(ScheduledThreadPoolExecutor.java:181)

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

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)

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

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

2009.08.13 14:34:36 failed org.mortbay.jetty.servlet.HashSessionManager@5999c55a

java.lang.NullPointerException

    at org.mortbay.jetty.servlet.AbstractSessionManager.doStart(AbstractSessionManager .java:157)

    at org.mortbay.jetty.servlet.HashSessionManager.doStart(HashSessionManager.java:56 )

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

    at org.mortbay.jetty.servlet.SessionHandler.doStart(SessionHandler.java:115)

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)

    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:519)

    at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)

    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)

    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)

    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)

    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

    at org.jivesoftware.liveassistant.WebClientPlugin.initializePlugin(WebClientPlugin .java:100)

    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :448)

    at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java :47)

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

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

    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

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

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101 (ScheduledThreadPoolExecutor.java:98)

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodi c(ScheduledThreadPoolExecutor.java:181)

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

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)

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

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

I think there is a patch in the make to upgrade to 7 - http://www.igniterealtime.org/issues/browse/OF-46

JM-1539 as well.

Does it make sense to upgrade first to 6.1.19 first, because it is likely a straight forward .jar replace as opposed to source code modification? Also from Openfire’s web console, index.jsp page, under Appserver, it would be nice to have the Jetty version reflect to true version.

Appserver:
jetty/6.1.x

Thanks

If you upgrade Jetty, you will need to regenerate your self-signed SSL certificates from the web console, as these will not be compatible backwardly. I am uncertain that this is a requirement if you are using a purchased certificate authority (CA) from Verisign or otherwise. This I have not tested.

Thanks