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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Invalid
    • Affects Version/s: 5.0.14
    • Fix Version/s: None
    • Component/s: tapestry-ioc
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: