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

IOC services bound using a marker behave differently than services with a serviceId thus producing a StackOverflow

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 5.0.14
    • None
    • tapestry-ioc
    • None

    Description

      the module class below produces a StackOverflow if i try to call the chain. if i use a serviceId instead of the marker annotation everything work as expected. it seems, that a marker annotation does not have the same behaviour as a serviceId. see also the attached maven project that examplifies the problem.

      public final class StackOverflowModule
      {
      public static void bind(ServiceBinder binder)

      { binder.bind(ChainInterface.class, HelloWorld.class).withMarker(Default.class); }

      public ChainInterface buildChainInterface(List<ChainInterface> chainItems, ChainBuilder builder)

      { return builder.build(ChainInterface.class, chainItems); }

      public void contributeChainInterface(OrderedConfiguration<ChainInterface> chainItems,
      @Default ChainInterface helloWorld)

      { chainItems.add("Default", helloWorld); }

      }

      Attachments

        1. test.zip
          9 kB
          Kristian Marinkovic

        Issue Links

          Activity

            People

              hlship Howard Lewis Ship
              kristian Kristian Marinkovic
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Slack

                  Issue deployment