Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

How to override property files in tapestry

$
0
0
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?

Viewing all articles
Browse latest Browse all 5648

Trending Articles