HiveMind can be too demanding about cross-dependencies within
hivemind.FactoryDefaults
--------------------------------------------------------------------------------------
Key: HIVEMIND-170
URL: http://issues.apache.org/jira/browse/HIVEMIND-170
Project: HiveMind
Type: Bug
Components: framework
Versions: 1.0, 1.1
Environment: HiveMind 1.1
Reporter: Howard M. Lewis Ship
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)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]