Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1425

Eager Loaded service (builder) cannot use object injection

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.4
    • Fix Version/s: 5.0.5
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      A service which is EagerLoaded cannot use object injection, it must use InjectService.

      If the eager loaded service uses object injection then it will cause an error because the alias service has not had its mode set when eager loaded services are created.

      e..g This builder method results in an error
      @EagerLoad
      public RegistryShutdownListener buildFileCleanerCleanup( RegistryShutdownHub hub)

      When service injection is used it is ok.
      @EagerLoad
      public RegistryShutdownListener buildFileCleanerCleanup(@InjectService("RegistryShutdownHub") RegistryShutdownHub hub)

      Not sure if this can actually be fixed, or if it just needs to be documented.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hlship Howard M. Lewis Ship
                Reporter:
                bpsommerville Ben Sommerville
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: