Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4427

Create separate API bundle

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • http-2.2.1
    • http-2.3.0
    • HTTP Service
    • None

    Description

      Currently the Servlet API is exported from the Http Service Bundle bundle and the Jetty bundle.

      In a typical web application a large number of bundles will typically wire to the Servlet API and to the Http Service API. To detach the application from the Http Service implementation, if would be usefull to have the APIs fully detached from the implementations.

      As such, I suggest we do not export the Servlet API from the Jetty bundle but expect the Servlet API to be exported from somewhere else.

      As the Http Service Bundle bundle is a convenience all-in-one bundle, it does not hurt for this bundle to export the API.

      To help solve the versioning problem, I actually think we should create our own Servlet API bundle. The versioning problem is that the Servlet API 3.0 spec is actually backwards compatible with Servlet 2.5 but chose to upgrade the specification major version. Unfortunately that does not play well with semantic versioning when applying the specification version to the API exports (as is customarily but wrongly done).

      So, our bundle should:

      • be based on the Tomcat Servlet API library (since this is ASL2 licensed and can easily be included)
      • export Servlet API at version 2.6 (which is a custom compromise) as well as version 3.0
      • also Provide-Capability for the Servlet API capability

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            fmeschbe Felix Meschberger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment