Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Upgrading from 8.1.8 to 9.1.0

On 8 October 2013 02:38, Lothar Kimmeringer <job@xxxxxxxxxxxxxx> wrote:
> Obviously many things have changed since 8.1.8. It seems that
> each major release involves me in a complete rewrite of all my
> configuration files.

Welcome to my world ;-)

I'll have to put my hand up and take responsibility for this pain.   It is a consequence of my architectural decision (over a decade ago) to not have a configuration file for Jetty, but to have and XML format that was essentially just calling the java API to assemble and configure a server.

This was a concept ahead of its time (dependency injection before spring had sprung) and does enable great flexibility in the use of jetty, as it can be assembled, extended, plugged and configured in ways that are unlimited by some fixed configuration file format.

The down side is that the XML files are essentially code and that they change when the code changes.   Thus we have very poor portability of XML files between versions:
  • XML should be portable between x.y.z and x.y.z+n
  • XML should be forward compatible between x.y.* and x.y+n.*
  • All bets are off for x.*.* to x+n.*.*

We've compounded this difficulty with a distribution that has encouraged users to edit the XML files for their own needs.   This has indeed made upgrading more difficult than it should be.     As pointed out elsewhere in this thread we are implementing two features in 9.1 that will hopefully belatedly minimise this problem:

  1. The increased usage of parameters set in ini files should minimise the need to edit XML for many configuration needs.
  2. The introduction of the $JETTY_BASE concept should allow modified XML files to be kept separately from the originals in $JETTY_HOME.   Upgrades should then be able to look at the diff between home and base XMLs to see what changes need to be reapplied in the upgraded version.


Greg Wilkins <gregw@xxxxxxxxxxx>
Developer advice and support from the Jetty & CometD experts.
Intalio, the modern way to build business applications.

Back to the top