Re: Tapestry > 5.3 makes it impossible to load symbols from DB (TAP5-1823)
Lance Java wrote > As suggested in the Jira, your SettingsService could @Inject ObjectLocator > instead of the hibernate session. It could then lazily call > ObjectLocator.getService(Session.class) to get the hibernate session. This doesn't work since a method is invoked on the SettingsService in the contribution and the exception is thrown when realizing the service. -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-5-3-makes-it-impossible-to-load-symbols-from-DB-TAP5-1823-tp5719752p5719889.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry > 5.3 makes it impossible to load symbols from DB (TAP5-1823)
As suggested in the Jira, your SettingsService could @Inject ObjectLocator instead of the hibernate session. It could then lazily call ObjectLocator.getService(Session.class) to get the hibernate session. -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-5-3-makes-it-impossible-to-load-symbols-from-DB-TAP5-1823-tp5719752p5719763.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Tapestry > 5.3 makes it impossible to load symbols from DB (TAP5-1823)
Assuming the SettingsService resides in the same module, try this: public static void contributeApplicationDefaults(MappedConfiguration configuration, @Local SettingsService settings) { settings.getString(UISymbolConstants.SUPPORTED_LOCALES, "de,en")); } the @Local annotation tells T5 not to look elsewhere for the service definition. Steve. -- Steve Eynon --- "If at first you don't succeed, so much for skydiving!" - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Tapestry > 5.3 makes it impossible to load symbols from DB (TAP5-1823)
We need to change some Tapestry symbols based on values from the database, e.g. the SUPPORTED_LOCALES. We have a SettingsService that reads the values - this service uses Hibernate, so it needs Tapestry IoC to be configured. We use something like this to add the symbol: public static void contributeApplicationDefaults(MappedConfiguration configuration, SettingsService settings) { configuration.add(SymbolConstants.SUPPORTED_LOCALES, settings.getString(UISymbolConstants.SUPPORTED_LOCALES, "de,en")); } This worked fine in Tapestry 5.2.x - now we upgraded to 5.3.x and we get an ERROR during IoC initialization: "Construction of service 'ServiceOverride' has failed due to recursion". The reason behind this is the new TapestryModule#productionModeOverrides - this method makes ServiceOverride dependent on symbols (hence SymbolSource). We also tried another approach with contributing to SymbolSource: @Contribute(SymbolSource.class) public static void addSettingsSymbolSource(OrderedConfiguration configuration, final SettingsService settings) { configuration.add("settings", new SymbolProvider() { public String valueForSymbol(String symbolName) { return settings.getString(symbolName, null); } }, "after:*"); } with the same result. There was already a bug filed (closed without solution): https://issues.apache.org/jira/browse/TAP5-1823 Has anyone an idea how to solve this problem? -- View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-5-3-makes-it-impossible-to-load-symbols-from-DB-TAP5-1823-tp5719752.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org