Jetty

Implement the lastest version of slf4j 1.5.x

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 7.0.0pre0, 7.0.0pre1, 7.0.0pre2, 7.0.0pre3, 7.0.0pre4, 7.0.0.pre5
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    All platforms
  • Number of attachments :
    0

Description

There should be a full implementation of the latest slf4j 1.5.x libraries in Jetty7. We should use this opportunity to upgrade the slf4j library support.

Jetty 6.1.14 included slf4j 1.3.1 libraries, but Jetty7 only includes slf4j 1.0.1 libraries which is a lower version than what is used in Jetty6.

A search in the Jetty6 distribution for slf4j libraries:
jetty-6.1.14/lib/jsp-2.0/jcl104-over-slf4j-1.3.1.jar
jetty-6.1.14/lib/jsp-2.0/slf4j-api-1.3.1.jar
jetty-6.1.14/lib/jsp-2.0/slf4j-simple-1.3.1.jar

A search in the Jetty7 distribution for slf4j libraries:
jetty-7.0.0.pre5/lib/wadi/jcl104-over-slf4j-1.0.1.jar
jetty-7.0.0.pre5/lib/wadi/slf4j-simple-1.0.1.jar

Jetty 7.0.0.pre5 removes jsp-2.0 support which contains the slf4j libraries in Jetty6.
As illustrated, some slf4j libraries were reincarnated into the lib/wadi directory, but at the lower 1.0.1 version.

As additional side note:

  • Jetty6's jsp-2.0 support contained libraries for jasper, xercesImpl, and xmlParserAPIs, all which are not found in the Jetty 7.0.0.pre5
  • Jetty6 could upgrade the slf4j library. Geronimo 2.1.3 uses Jetty 6.1.7, and it implements this combination with slf4j version 1.4.3 .

-RG

Activity

Hide
Greg Wilkins added a comment -

Jetty 7 has been upgraded, but note that you should just be able to drop in the latest slf4j releases anyway as it appears the apis are backwards compatible.

The JSPs have different dependencies because jetty 7 has switched to use Suns JSP engine instead of the
apache one.

We will look at upgrading hightide soon.

Show
Greg Wilkins added a comment - Jetty 7 has been upgraded, but note that you should just be able to drop in the latest slf4j releases anyway as it appears the apis are backwards compatible. The JSPs have different dependencies because jetty 7 has switched to use Suns JSP engine instead of the apache one. We will look at upgrading hightide soon.
Hide
Russell E Glaue added a comment -

-
...note that you should just be able to drop in the latest slf4j releases anyway as it appears the apis are backwards compatible.
-

Yes, however by including them in the distribution, we
1) affect all upstream projects that use Jetty (i.e. Geronimo, Eclipse)
2) make it easier for use as a Maven artifact (dependencies)
3) allow for other features inside Jetty to be developed upon the latest library version

Thank you.
-RG

Show
Russell E Glaue added a comment - - ...note that you should just be able to drop in the latest slf4j releases anyway as it appears the apis are backwards compatible. - Yes, however by including them in the distribution, we 1) affect all upstream projects that use Jetty (i.e. Geronimo, Eclipse) 2) make it easier for use as a Maven artifact (dependencies) 3) allow for other features inside Jetty to be developed upon the latest library version Thank you. -RG
Hide
Russell E Glaue added a comment -

Adding and supporting 3rd party libraries in the future of Jetty was discussed here among myself, Greg and Jan:
http://www.nabble.com/-DISCUSS--Jetty-6.2-or-7.0-for-new-features--td21627534.html

Jan has said that "Jetty-7 in fact doesn't use slf4j, because there is no jsp-2.0."
If this is true, then perhaps slf4j should be removed for Jetty-7?

However, if there is a foreseen need for a Commons Logging structure, I would like to see slf4j remain in the jetty core distribution.

The "Jetty-core" (Jetty @ Eclipse) is intended to be used in upstream software like jetty-hightide, Geronimo, JBoss, JOnAS, etc. If slf4j support is not needed in Jetty, upstream software can implement it. If Jetty includes it, but does not use it, upstream software will likely end up stripping or upgrading it.

So include it if Jetty can use it, or drop it if Jetty has no need for resources slf4j can provide.
-RG

Show
Russell E Glaue added a comment - Adding and supporting 3rd party libraries in the future of Jetty was discussed here among myself, Greg and Jan: http://www.nabble.com/-DISCUSS--Jetty-6.2-or-7.0-for-new-features--td21627534.html Jan has said that "Jetty-7 in fact doesn't use slf4j, because there is no jsp-2.0." If this is true, then perhaps slf4j should be removed for Jetty-7? However, if there is a foreseen need for a Commons Logging structure, I would like to see slf4j remain in the jetty core distribution. The "Jetty-core" (Jetty @ Eclipse) is intended to be used in upstream software like jetty-hightide, Geronimo, JBoss, JOnAS, etc. If slf4j support is not needed in Jetty, upstream software can implement it. If Jetty includes it, but does not use it, upstream software will likely end up stripping or upgrading it. So include it if Jetty can use it, or drop it if Jetty has no need for resources slf4j can provide. -RG
Hide
Jesse McConnell added a comment -

I checked yesterday with one of the eclipse IP verification folks and slf4j 1.5.something is a checked and allowed dependency.

Show
Jesse McConnell added a comment - I checked yesterday with one of the eclipse IP verification folks and slf4j 1.5.something is a checked and allowed dependency.
Hide
David Yu added a comment -

Cool.
<slf4j-version>1.5.6</slf4j-version> is the wtg.

Show
David Yu added a comment - Cool. <slf4j-version>1.5.6</slf4j-version> is the wtg.
Hide
Jesse McConnell added a comment -

I have added this into the lib/slf4j directory now in the distribution since its ok from the eclipse standpoint. We'll have to wire in a config to make use of it but that can be done under a separate review issue, its enough that it is in the assembly now.

Show
Jesse McConnell added a comment - I have added this into the lib/slf4j directory now in the distribution since its ok from the eclipse standpoint. We'll have to wire in a config to make use of it but that can be done under a separate review issue, its enough that it is in the assembly now.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: