Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2183

Convert all remaining plugins (ServiceLoader) into regular service beans.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Resolved
    • 2.0.0-M2
    • 2.0.0-M3
    • None
    • None

    Description

      A more general question re: plugins ... what is it about them that means that they can't be implemented as regular services, with Spring finding the implementation using classpat scanning?
      Is it that we need to load them before Spring?
      ie using ServiceLoader or similar?
      Not challenging the design, just want to be able to write some sensible docs about it

      Andi, 11:01
      Let me check this first ...

      I think we have these, that use ServiceLoader mechanics:
      1. IsisJdoMetamodelPlugin
      2. UriBuilderPlugin
      3. IsisJaxrsServerPlugin
      4. ProxyFactoryPlugin
      5. ValuePropertyPlugin
      6. DateConverterPlugin
      7. ComponentFactory

      Its likely we could convert 2-7 to service beans, with 1. I need to check the rational ...

      11:12
      I think we should do that, then.

      Andi, 11:13
      I believe with (1) its also possible now to convert it to a service. It was not possible when the ServiceLoader introspection was run during the post-construct phase, but I changed that to now run after the post-construc pahse, when all the services are discovered and initialized.

      11:14
      OK, that would then be a very nice place to get to... the whole framework is just a bunch of Spring-loaded beans.

      Andi, 11:14
      yep I agree

      11:15
      I think it also means that there isn't really any concept of plugins ... or at least, any of these service beans could be replaced by a different implementation with a higher @Order( if required.

      Attachments

        Issue Links

        Activity

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

          People

            hobrom Andi Huber
            danhaywood Daniel Keir Haywood
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment