You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Rob Walker (JIRA)" <ji...@apache.org> on 2008/10/21 11:01:44 UTC

[jira] Created: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Migrate HTTPS support to new Jetty NIO classes
----------------------------------------------

                 Key: FELIX-783
                 URL: https://issues.apache.org/jira/browse/FELIX-783
             Project: Felix
          Issue Type: Improvement
          Components: HTTP Service
            Reporter: Rob Walker
            Priority: Minor


The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12667967#action_12667967 ] 

Rob Walker commented on FELIX-783:
----------------------------------

I think the issue here is Felix build more than runtime.

It definitely seems practical to check in the Activator whether we're on 1.4 and not try anything that won't work e.g. SSL NIO classes. 

But we also need to make the build aware of this. The moment the maven build includes the NIO JAR, you can't even build Felix under 1.4. And since the byte codes are not compatible, if you can't build under 1.4 you can't run under 1.4.

I'd guess there is a way to make maven do a conditional build e.g. only try and include the sslengine JAR if the javac version is 1.5+, but that is way beyond my knowledge of Maven!!!

Just an FYI also - Sun does still support 1.4 via the Business Edition, which in some cases still even includes free support:

http://www.sun.com/software/javaseforbusiness/index.jsp

The EOSL for 1.4 only means that the general support for 1.4 has finished. We work with quite a few companies that intend to stay on 1.4 and have it supported under the terms of the Business Edition for years to come.

I agree though that:

(a) 1.4 support may not be that important these days for most people
(b) Jetty is heavyweight, and we have a separate JIRA task to deal with that by creating a new parallel http.xxx bundle




> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Walker reopened FELIX-783:
------------------------------


Just tried a 1.4 Felix build and it seems unfortunately the Jetty SSL  engine still needs 1.5 or above:

mpile]
     [exec] [INFO] Compiling 8 source files to E:\MiscProjs\felix\http.jetty\target\classes
     [exec] [INFO] ------------------------------------------------------------------------
     [exec] [ERROR] BUILD FAILURE
     [exec] [INFO] ------------------------------------------------------------------------
     [exec] [INFO] Compilation failure
     [exec] E:\MiscProjs\felix\http.jetty\src\main\java\org\apache\felix\http\jetty\Activator.java:[29,-1] cannot access org.mortbay
.jetty.security.SslSelectChannelConnector
     [exec] bad class file: C:\Documents and Settings\robw\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.14\jetty-sslengine-6
.1.14.jar(org/mortbay/jetty/security/SslSelectChannelConnector.class)
     [exec] class file has wrong version 49.0, should be 48.0

I think we should re-open this issue and call a vote whether creating a JDK 1.5+ dependency is acceptable.


> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12641318#action_12641318 ] 

walkerr edited comment on FELIX-783 at 10/21/08 2:42 AM:
------------------------------------------------------------

It looks like the codehause checked in JARs/POMs for these these may have a JDK dependency - trying to build under 1.4 throws the following error:

   [INFO] Compilation failure
   E:\MiscProjs\felix\http.jetty\src\main\java\org\apache\felix\http\jetty\Activator.java:[29,-1] cannot access org.mortbay.jetty.security.SslSelectChannelConnector
   bad class file: C:\Documents and Settings\robw\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.12.rc3\jetty-sslengine-6.1.12.rc3.jar(org/mortbay/jetty/security
   /SslSelectChannelConnector.class)
   class file has wrong version 49.0, should be 48.0

Will revisit this issue once Felix moves to a base JDK level of 1.5

==

A quick code review of SslSelectChannelConnector confirms that it uses generics, and hence will need to wait for decision to move up to 1.5 for standard build

      was (Author: walkerr):
    It looks like the codehause checked in JARs/POMs for these these may have a JDK dependency - trying to build under 1.4 throws the following error:

   [INFO] Compilation failure
   E:\MiscProjs\felix\http.jetty\src\main\java\org\apache\felix\http\jetty\Activator.java:[29,-1] cannot access org.mortbay.jetty.security.SslSelectChannelConnector
   bad class file: C:\Documents and Settings\robw\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.12.rc3\jetty-sslengine-6.1.12.rc3.jar(org/mortbay/jetty/security
   /SslSelectChannelConnector.class)
   class file has wrong version 49.0, should be 48.0

Will revisit this issue once Felix moves to a base JDK level of 1.5
  
> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12667964#action_12667964 ] 

Marcel Offermans commented on FELIX-783:
----------------------------------------

How about refactoring the Activator so it will not attempt to load any of the 1.5 classes unless you actually use NIO and SSL? That would mean this feature needs 1.5 but the rest would remain 1.4 compatible.

About being 1.5 dependent, this is an interesting topic of discussion. My take is that we can determine for each bundle what execution environment it is compatible with. Something that uses Jetty is not actually that lightweight that it makes much sense in an embedded environment. If you look at desktops, then at least Sun does not even support 1.4 anymore (it was end of life'd last november). Even 1.5 (Java 5) will be end of life'd soon (this november) for that matter.


> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12667815#action_12667815 ] 

Marcel Offermans commented on FELIX-783:
----------------------------------------

This issue seems to be solved in jetty-sslengine 6.1.14, but it's hard to be 100% sure because there is no Java 1.4 for my Mac anymore.

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Offermans resolved FELIX-783.
------------------------------------

    Resolution: Fixed

Added support for NIO.

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Offermans resolved FELIX-783.
------------------------------------

    Resolution: Fixed

Should no longer have a compile time dependency on Java 5 now. Runtime neither, unless you use NIO and SSL in your configuration.

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12641318#action_12641318 ] 

Rob Walker commented on FELIX-783:
----------------------------------

It looks like the codehause checked in JARs/POMs for these these may have a JDK dependency - trying to build under 1.4 throws the following error:

   [INFO] Compilation failure
   E:\MiscProjs\felix\http.jetty\src\main\java\org\apache\felix\http\jetty\Activator.java:[29,-1] cannot access org.mortbay.jetty.security.SslSelectChannelConnector
   bad class file: C:\Documents and Settings\robw\.m2\repository\org\mortbay\jetty\jetty-sslengine\6.1.12.rc3\jetty-sslengine-6.1.12.rc3.jar(org/mortbay/jetty/security
   /SslSelectChannelConnector.class)
   class file has wrong version 49.0, should be 48.0

Will revisit this issue once Felix moves to a base JDK level of 1.5

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668363#action_12668363 ] 

Rob Walker commented on FELIX-783:
----------------------------------

Compiles clean now on 1.4.2 on my machine. Nice one Marcel, happy my side if you want to close this one.

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Offermans reassigned FELIX-783:
--------------------------------------

    Assignee: Marcel Offermans

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-783) Migrate HTTPS support to new Jetty NIO classes

Posted by "Rob Walker (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12667945#action_12667945 ] 

Rob Walker commented on FELIX-783:
----------------------------------

I can take a look. 

When I looked last though - the Jetty SSL NIO support would create a dependency on Java 1.5 or above, hence holding back on using it

> Migrate HTTPS support to new Jetty NIO classes
> ----------------------------------------------
>
>                 Key: FELIX-783
>                 URL: https://issues.apache.org/jira/browse/FELIX-783
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Rob Walker
>            Assignee: Marcel Offermans
>            Priority: Minor
>
> The Jetty6 migration takes advantage of the new Jetty NIO socket classes but only for the HTTP port. There are also new NIO classes in Jetty for SSL sockets, which presumably will offer similar scalability and performance benefits.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.