hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liebig, Stefan " <>
Subject Question regarding SymbolSources
Date Tue, 23 Aug 2005 13:26:46 GMT
While using my own symbol source implementations, I figured out
that it is not possible to do somthing like this:
 <service-point id="SymbolSourceTest" interface="symbolsource.StringHolder">
   <construct class="symbolsource.StringHolder">
 <contribution configuration-id="hivemind.ApplicationDefaults">
  <default symbol="A" value="${B} and more"/>
 <contribution configuration-id="hivemind.ApplicationDefaults">
  <default symbol="B" value="C"/>
There is a chain of links (no cycle): ${A} -> ${B} -> C 
Accessing the SymbolSourecTest service results in an:
Caused by: org.apache.hivemind.ApplicationRuntimeException: A recursive call to construct
configuration hivemind.ApplicationDefaults has occured.  This indicates a cycle between one
or more configurations or services.
 at org.apache.hivemind.impl.ConfigurationPointImpl.constructElements(
 at org.apache.hivemind.impl.ElementsInnerProxyList.inner(
 at org.apache.hivemind.impl.ElementsInnerProxyList.size(
 at org.apache.hivemind.impl.ElementsProxyList.size(
 at org.apache.hivemind.service.impl.DefaultsSymbolSource.initializeService(
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
 at java.lang.reflect.Method.invoke(
 at org.apache.hivemind.service.impl.BuilderFactoryLogic.findAndInvokeInitializerMethod(
 at org.apache.hivemind.service.impl.BuilderFactoryLogic.invokeInitializer(
 ... 104 more
However, if you use another SymbolSource which resolves the ${B} from another
contribution than it works, because two different SymbolSource-Services are used.
Is it possible to change construction of symbol sources such that no creation cycles occur?


View raw message