Uploaded image for project: 'HiveMind'
  1. HiveMind
  2. HIVEMIND-170

HiveMind can be too demanding about cross-dependencies within hivemind.FactoryDefaults

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0, 1.1
    • Fix Version/s: None
    • Component/s: framework
    • Labels:
      None
    • Environment:
      HiveMind 1.1

      Description

      I have the following contributions to hivemind.FactoryDefaults:

      <contribution configuration-id="hivemind.FactoryDefaults">
      <default symbol="peg.host" value="localhost"/>
      <default symbol="peg.port" value="8090"/>
      <default symbol="peg.context" value="pe"/>
      <default symbol="peg.base-url" value="http://${peg.host}:${peg.port}/${peg.context}/peg"/>
      </contribution>

      It seems reasonable to me that I should be able to reference other symbols defined at the same level, but I get a failure at application startup for my Tapestry application. In fact, I get an unbelievable torrent of nested exceptions, none of which point to the above XML.

      etRootCause():
      org.apache.hivemind.ApplicationRuntimeException: Error at jar:file:/. . ./lib/runtime/hivemind-1.1.jar!/META-INF/hivemodule.xml, line 94, column 60: Unable to initialize service hivemind.FactoryDefaultsSymbolSource (by invoking method initializeService on org.apache.hivemind.service.impl.DefaultsSymbolSource): A recursive call to construct configuration hivemind.FactoryDefaults has occured. This indicates a cycle between one or more configurations or services. [jar:file:/. . ./lib/runtime/hivemind-1.1.jar!/META-INF/hivemodule.xml, line 94, column 60]
      at org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
      at org.apache.hivemind.impl.ErrorLogImpl.error(ErrorLogImpl.java:40)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.error(BuilderFactoryLogic.java:95)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.invokeInitializer(BuilderFactoryLogic.java:255)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:81)

      . . .

      org.apache.hivemind.ApplicationRuntimeException: A recursive call to construct configuration hivemind.FactoryDefaults has occured. This indicates a cycle between one or more configurations or services.
      at org.apache.hivemind.impl.ConfigurationPointImpl.constructElements(ConfigurationPointImpl.java:180)
      at org.apache.hivemind.impl.ElementsInnerProxyList.inner(ElementsInnerProxyList.java:46)
      at org.apache.hivemind.impl.ElementsInnerProxyList.size(ElementsInnerProxyList.java:62)
      at org.apache.hivemind.impl.ElementsProxyList.size(ElementsProxyList.java:60)
      at org.apache.hivemind.service.impl.DefaultsSymbolSource.initializeService(DefaultsSymbolSource.java:42)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.findAndInvokeInitializerMethod(BuilderFactoryLogic.java:275)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.invokeInitializer(BuilderFactoryLogic.java:249)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:81)
      at org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42)
      at org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:84)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructCoreServiceImplementation(AbstractServiceModelImpl.java:107)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:157)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructServiceImplementation(AbstractServiceModelImpl.java:139)
      at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getActualServiceImplementation(SingletonServiceModel.java:68)
      at $SymbolSource_109faf781e9._service($SymbolSource_109faf781e9.java)
      at $SymbolSource_109faf781e9.valueForSymbol($SymbolSource_109faf781e9.java)
      at $SymbolSource_109faf781e8.valueForSymbol($SymbolSource_109faf781e8.java)
      at org.apache.hivemind.impl.RegistryInfrastructureImpl.valueForSymbol(RegistryInfrastructureImpl.java:307)
      at org.apache.hivemind.impl.SymbolExpander.expandSymbol(SymbolExpander.java:217)
      at org.apache.hivemind.impl.SymbolExpander.expandSymbols(SymbolExpander.java:176)
      at org.apache.hivemind.impl.RegistryInfrastructureImpl.expandSymbols(RegistryInfrastructureImpl.java:296)
      at org.apache.hivemind.impl.ModuleImpl.expandSymbols(ModuleImpl.java:144)
      at org.apache.hivemind.schema.rules.RuleUtils.processText(RuleUtils.java:110)
      at org.apache.hivemind.schema.rules.ReadAttributeRule.begin(ReadAttributeRule.java:66)
      at org.apache.hivemind.parse.ConversionDescriptor.begin(ConversionDescriptor.java:141)
      at org.apache.hivemind.impl.SchemaElement.fireBegin(SchemaElement.java:228)
      at org.apache.hivemind.impl.SchemaProcessorImpl.processElement(SchemaProcessorImpl.java:255)
      at org.apache.hivemind.impl.SchemaProcessorImpl.processRootElement(SchemaProcessorImpl.java:235)
      at org.apache.hivemind.impl.SchemaProcessorImpl.process(SchemaProcessorImpl.java:223)
      at org.apache.hivemind.impl.ConfigurationPointImpl.processContributionElements(ConfigurationPointImpl.java:268)
      at org.apache.hivemind.impl.ConfigurationPointImpl.constructElements(ConfigurationPointImpl.java:189)
      at org.apache.hivemind.impl.ElementsInnerProxyList.inner(ElementsInnerProxyList.java:46)
      at org.apache.hivemind.impl.ElementsInnerProxyList.size(ElementsInnerProxyList.java:62)
      at org.apache.hivemind.impl.ElementsProxyList.size(ElementsProxyList.java:60)
      at org.apache.hivemind.service.impl.DefaultsSymbolSource.initializeService(DefaultsSymbolSource.java:42)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.findAndInvokeInitializerMethod(BuilderFactoryLogic.java:275)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.invokeInitializer(BuilderFactoryLogic.java:249)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:81)
      at org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42)
      at org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:84)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructCoreServiceImplementation(AbstractServiceModelImpl.java:107)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:157)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructServiceImplementation(AbstractServiceModelImpl.java:139)
      at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getActualServiceImplementation(SingletonServiceModel.java:68)
      at $SymbolSource_109faf781e9._service($SymbolSource_109faf781e9.java)
      at $SymbolSource_109faf781e9.valueForSymbol($SymbolSource_109faf781e9.java)
      at $SymbolSource_109faf781e8.valueForSymbol($SymbolSource_109faf781e8.java)
      at org.apache.hivemind.impl.RegistryInfrastructureImpl.valueForSymbol(RegistryInfrastructureImpl.java:307)
      at org.apache.hivemind.impl.ModuleImpl.valueForSymbol(ModuleImpl.java:186)
      at org.apache.tapestry.services.impl.SymbolSourcesPropertySource.getPropertyValue(SymbolSourcesPropertySource.java:40)
      at $IPropertySource_109faf781d8.getPropertyValue($IPropertySource_109faf781d8.java)
      at $IPropertySource_109faf781d7.getPropertyValue($IPropertySource_109faf781d7.java)
      at $IPropertySource_109faf781d9.getPropertyValue($IPropertySource_109faf781d9.java)
      at $IPropertySource_109faf78199.getPropertyValue($IPropertySource_109faf78199.java)
      at $IPropertySource_109faf78198.getPropertyValue($IPropertySource_109faf78198.java)
      at org.apache.tapestry.services.impl.PropertyObjectProvider.provideObject(PropertyObjectProvider.java:47)
      at $ObjectProvider_109faf78145.provideObject($ObjectProvider_109faf78145.java)
      at $ObjectProvider_109faf78144.provideObject($ObjectProvider_109faf78144.java)
      at org.apache.hivemind.service.impl.ObjectTranslator.translate(ObjectTranslator.java:75)
      at $Translator_109faf7813e.translate($Translator_109faf7813e.java)
      at org.apache.hivemind.service.impl.BuilderPropertyFacet.getFacetValue(BuilderPropertyFacet.java:55)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.wireProperty(BuilderFactoryLogic.java:357)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.setProperties(BuilderFactoryLogic.java:320)
      at org.apache.hivemind.service.impl.BuilderFactoryLogic.createService(BuilderFactoryLogic.java:77)
      at org.apache.hivemind.service.impl.BuilderFactory.createCoreServiceImplementation(BuilderFactory.java:42)
      at org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:84)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructCoreServiceImplementation(AbstractServiceModelImpl.java:107)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructNewServiceImplementation(AbstractServiceModelImpl.java:157)
      at org.apache.hivemind.impl.servicemodel.AbstractServiceModelImpl.constructServiceImplementation(AbstractServiceModelImpl.java:139)
      at org.apache.hivemind.impl.servicemodel.SingletonServiceModel.getActualServiceImplementation(SingletonServiceModel.java:68)
      at $ServletRequestServicerFilter_109faf781cb._service($ServletRequestServicerFilter_109faf781cb.java)
      at $ServletRequestServicerFilter_109faf781cb.service($ServletRequestServicerFilter_109faf781cb.java)
      at $ServletRequestServicerFilter_109faf781ca.service($ServletRequestServicerFilter_109faf781ca.java)
      at $ServletRequestServicer_109faf781ce.service($ServletRequestServicer_109faf781ce.java)
      at $ServletRequestServicer_109faf781c1.service($ServletRequestServicer_109faf781c1.java)
      at $ServletRequestServicer_109faf781c0.service($ServletRequestServicer_109faf781c0.java)
      at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated: