Hi all,
I have the following folders structure
/payex.properties
/prod/payex.properties
/dev/payex.properties
My idea is for the tapestry to always load the root (/payex.properties) and
then give the execution mode to load one of the payex.properties that
contain environment specific fields. My first initial guess was to try
something like
public static void contributeSymbolSource(final
OrderedConfiguration<SymbolProvider> configuration,
@Symbol(SymbolConstants.EXECUTION_MODE) String environment) {
configuration.add("PayexSymbols", new
ClasspathResourceSymbolProvider("payex.properties"),
"before:ApplicationDefaults");
configuration.add("PayexSymbols", new
ClasspathResourceSymbolProvider(environment + "/payex.properties"),
"before:ApplicationDefaults");
But I got the following exception.
java.lang.IllegalStateException: Construction of service 'SymbolSource' has
failed due to recursion: the service depends on itself in some way. Please
check org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(List) (at
SymbolSourceImpl.java:198) via
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
TapestryIOCModule.java:49) for references to another service that is itself
dependent on service 'SymbolSource'.
I guess I can't use @Symbol at the same time I want to contribute to it
Is my hierarchy even possible to achieve given all of this?
I have the following folders structure
/payex.properties
/prod/payex.properties
/dev/payex.properties
My idea is for the tapestry to always load the root (/payex.properties) and
then give the execution mode to load one of the payex.properties that
contain environment specific fields. My first initial guess was to try
something like
public static void contributeSymbolSource(final
OrderedConfiguration<SymbolProvider> configuration,
@Symbol(SymbolConstants.EXECUTION_MODE) String environment) {
configuration.add("PayexSymbols", new
ClasspathResourceSymbolProvider("payex.properties"),
"before:ApplicationDefaults");
configuration.add("PayexSymbols", new
ClasspathResourceSymbolProvider(environment + "/payex.properties"),
"before:ApplicationDefaults");
But I got the following exception.
java.lang.IllegalStateException: Construction of service 'SymbolSource' has
failed due to recursion: the service depends on itself in some way. Please
check org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(List) (at
SymbolSourceImpl.java:198) via
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
TapestryIOCModule.java:49) for references to another service that is itself
dependent on service 'SymbolSource'.
I guess I can't use @Symbol at the same time I want to contribute to it
Is my hierarchy even possible to achieve given all of this?