You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Borut Bolčina <bo...@gmail.com> on 2012/01/03 16:59:25 UTC

Re: Is it possible to initialize a custom SymbolProvider with another symbol?

Hi,

I would still like an advice on the approach on how to initialize custom
symbol provider with tapestry provided symbol. The code below ends in
IllegalStateException

Construction of service 'SymbolSource' has failed due to recursion: the
service depends on itself in some way.


The code from AppModule:

    public RESTSymbolProvider buildRESTSymbolProvider(Logger logger,
@Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) {
        return new RESTSymbolProvider(logger, executionMode);
    }

    public void contributeSymbolSource(OrderedConfiguration<SymbolProvider>
providers, Logger logger,
            @InjectService("RESTSymbolProvider") SymbolProvider
restSymbolProvider) {
        providers.add("myAppConfiguration", restSymbolProvider);
    }

Thanks for any input,
borut

2011/12/30 Borut Bolčina <bo...@gmail.com>

> Hello,
>
> I am in a process of writting my own SymbolProvider (the configuration for
> my app will come from REST service) and I am facing a dilemma. The
> contribution looks like:
>
>     public void
> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
> Logger logger) {
>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
> "development"), "after:SystemProperties", "before:ApplicationDefaults");
>     }
>
> You can see I hardcoded the string "development". I want to replace this
> string with another symbol
>
> @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode
>
> As I need this symbol in another method (sendEmailMessage) in the
> AppModule I naively tried like this and failed:
>
> public class AppModule {
>
>     private String *executionMode*;
>
>     public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String
> executionMode) {
>         this.executionMode = executionMode;
>     }
>
>     @Startup
>     public void sendEmailMessage(Logger logger) {
>         if ("development".equals(*executionMode*)) {
>             logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT
> Starting najdi-web");
>         } else {
>             logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION
> Starting najdi-web");
>         }
>     }
>
>     public void
> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
> Logger logger) {
>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
> *executionMode*), "after:SystemProperties", "before:ApplicationDefaults");
>     }
> ...
> }
>
>
> Fails with:
>
> [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: 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'.
> [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace:
> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing
> service ServletApplicationInitializer
> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating
> service ServletApplicationInitializer implementation via
> org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
> List, ApplicationInitializer) (at TapestryModule.java:1395)
> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing
> module class org.apache.tapestry5.services.TapestryModule
> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining
> injection value for parameter #1
> (org.apache.tapestry5.ioc.services.PipelineBuilder)
> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving
> object of type org.apache.tapestry5.ioc.services.PipelineBuilder using
> MasterObjectProvider
> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing
> service ServiceOverride
> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating
> service ServiceOverride implementation via
> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
> ServiceOverrideImpl.java:31) via
> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
> TapestryIOCModule.java:49)
> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan
> to instantiate
> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public
> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map)
> [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining
> injection value for parameter #1 (java.util.Map)
> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting
> mapped configuration for service ServiceOverride
> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking
> org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration,
> boolean) (at TapestryModule.java:2871)
> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining
> injection value for parameter #2 (boolean)
> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving
> object of type boolean using MasterObjectProvider
> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing
> service SymbolSource
> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15] Instantiating
> service SymbolSource implementation via
> 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)
> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating plan
> to instantiate org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl
> via public
> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List)
> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining
> injection value for parameter #1 (java.util.List)
> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [18] Collecting
> ordered configuration for service SymbolSource
> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [19] Invoking
> si.najdi.web.services.AppModule.contributeSymbolSource(OrderedConfiguration,
> Logger) (at AppModule.java:40)
> [2011/12/30 14:59:04.549] ERROR [o.a.t.i.Registry:log]: [20] Constructing
> module class si.najdi.web.services.AppModule
> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [21] Determining
> injection value for parameter #1 (java.lang.String)
> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [22] Resolving
> object of type java.lang.String using MasterObjectProvider
> [2011/12/30 14:59:04.551] ERROR [o.a.t.i.Registry:log]: [23] Realizing
> service SymbolSource
> [2011/12/30 14:59:04.569] ERROR [o.a.t.i.s.T.SymbolSource:createObject]:
> Construction of service SymbolSource failed: Unable to instantiate class
> si.najdi.web.services.AppModule as a module: Exception constructing service
> 'SymbolSource': 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'.
> java.lang.RuntimeException: Unable to instantiate class
> si.najdi.web.services.AppModule as a module: Exception constructing service
> 'SymbolSource': 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'.
>
> Am I facing multiple problems here?
>
> Regards,
> borut
>

Re: Is it possible to initialize a custom SymbolProvider with another symbol?

Posted by Borut Bolcina <bo...@gmail.com>.
Lol, I was in that thread suggesting filtering with Maven, this problem is another beast.

As Howard nailed it, one can not eat a cake before baking it.

-borut

Sent from my iPad

On 11. jan. 2012, at 02:03, Paul Stanton <pa...@mapshed.com.au> wrote:

> Borut,
> 
> If you want to configure environments differently, I suggest looking into resource filtering via maven.
> 
> see my thread titled 'configuration strategy' for more info.
> 
> p.
> 
> On 4/01/2012 2:59 AM, Borut Bolčina wrote:
>> Hi,
>> 
>> I would still like an advice on the approach on how to initialize custom
>> symbol provider with tapestry provided symbol. The code below ends in
>> IllegalStateException
>> 
>> Construction of service 'SymbolSource' has failed due to recursion: the
>> service depends on itself in some way.
>> 
>> 
>> The code from AppModule:
>> 
>>     public RESTSymbolProvider buildRESTSymbolProvider(Logger logger,
>> @Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) {
>>         return new RESTSymbolProvider(logger, executionMode);
>>     }
>> 
>>     public void contributeSymbolSource(OrderedConfiguration<SymbolProvider>
>> providers, Logger logger,
>>             @InjectService("RESTSymbolProvider") SymbolProvider
>> restSymbolProvider) {
>>         providers.add("myAppConfiguration", restSymbolProvider);
>>     }
>> 
>> Thanks for any input,
>> borut
>> 
>> 2011/12/30 Borut Bolčina<bo...@gmail.com>
>> 
>>> Hello,
>>> 
>>> I am in a process of writting my own SymbolProvider (the configuration for
>>> my app will come from REST service) and I am facing a dilemma. The
>>> contribution looks like:
>>> 
>>>     public void
>>> contributeSymbolSource(OrderedConfiguration<SymbolProvider>  providers,
>>> Logger logger) {
>>>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>>> "development"), "after:SystemProperties", "before:ApplicationDefaults");
>>>     }
>>> 
>>> You can see I hardcoded the string "development". I want to replace this
>>> string with another symbol
>>> 
>>> @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode
>>> 
>>> As I need this symbol in another method (sendEmailMessage) in the
>>> AppModule I naively tried like this and failed:
>>> 
>>> public class AppModule {
>>> 
>>>     private String *executionMode*;
>>> 
>>>     public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String
>>> executionMode) {
>>>         this.executionMode = executionMode;
>>>     }
>>> 
>>>     @Startup
>>>     public void sendEmailMessage(Logger logger) {
>>>         if ("development".equals(*executionMode*)) {
>>>             logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT
>>> Starting najdi-web");
>>>         } else {
>>>             logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION
>>> Starting najdi-web");
>>>         }
>>>     }
>>> 
>>>     public void
>>> contributeSymbolSource(OrderedConfiguration<SymbolProvider>  providers,
>>> Logger logger) {
>>>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>>> *executionMode*), "after:SystemProperties", "before:ApplicationDefaults");
>>>     }
>>> ...
>>> }
>>> 
>>> 
>>> Fails with:
>>> 
>>> [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: 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'.
>>> [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace:
>>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing
>>> service ServletApplicationInitializer
>>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating
>>> service ServletApplicationInitializer implementation via
>>> org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
>>> List, ApplicationInitializer) (at TapestryModule.java:1395)
>>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing
>>> module class org.apache.tapestry5.services.TapestryModule
>>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining
>>> injection value for parameter #1
>>> (org.apache.tapestry5.ioc.services.PipelineBuilder)
>>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving
>>> object of type org.apache.tapestry5.ioc.services.PipelineBuilder using
>>> MasterObjectProvider
>>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing
>>> service ServiceOverride
>>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating
>>> service ServiceOverride implementation via
>>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
>>> ServiceOverrideImpl.java:31) via
>>> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
>>> TapestryIOCModule.java:49)
>>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan
>>> to instantiate
>>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public
>>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map)
>>> [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining
>>> injection value for parameter #1 (java.util.Map)
>>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting
>>> mapped configuration for service ServiceOverride
>>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking
>>> org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration,
>>> boolean) (at TapestryModule.java:2871)
>>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining
>>> injection value for parameter #2 (boolean)
>>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving
>>> object of type boolean using MasterObjectProvider
>>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing
>>> service SymbolSource
>>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15] Instantiating
>>> service SymbolSource implementation via
>>> 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)
>>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating plan
>>> to instantiate org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl
>>> via public
>>> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List)
>>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining
>>> injection value for parameter #1 (java.util.List)
>>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [18] Collecting
>>> ordered configuration for service SymbolSource
>>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [19] Invoking
>>> si.najdi.web.services.AppModule.contributeSymbolSource(OrderedConfiguration,
>>> Logger) (at AppModule.java:40)
>>> [2011/12/30 14:59:04.549] ERROR [o.a.t.i.Registry:log]: [20] Constructing
>>> module class si.najdi.web.services.AppModule
>>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [21] Determining
>>> injection value for parameter #1 (java.lang.String)
>>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [22] Resolving
>>> object of type java.lang.String using MasterObjectProvider
>>> [2011/12/30 14:59:04.551] ERROR [o.a.t.i.Registry:log]: [23] Realizing
>>> service SymbolSource
>>> [2011/12/30 14:59:04.569] ERROR [o.a.t.i.s.T.SymbolSource:createObject]:
>>> Construction of service SymbolSource failed: Unable to instantiate class
>>> si.najdi.web.services.AppModule as a module: Exception constructing service
>>> 'SymbolSource': 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'.
>>> java.lang.RuntimeException: Unable to instantiate class
>>> si.najdi.web.services.AppModule as a module: Exception constructing service
>>> 'SymbolSource': 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'.
>>> 
>>> Am I facing multiple problems here?
>>> 
>>> Regards,
>>> borut
>>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Is it possible to initialize a custom SymbolProvider with another symbol?

Posted by Paul Stanton <pa...@mapshed.com.au>.
Borut,

If you want to configure environments differently, I suggest looking 
into resource filtering via maven.

see my thread titled 'configuration strategy' for more info.

p.

On 4/01/2012 2:59 AM, Borut Bolčina wrote:
> Hi,
>
> I would still like an advice on the approach on how to initialize custom
> symbol provider with tapestry provided symbol. The code below ends in
> IllegalStateException
>
> Construction of service 'SymbolSource' has failed due to recursion: the
> service depends on itself in some way.
>
>
> The code from AppModule:
>
>      public RESTSymbolProvider buildRESTSymbolProvider(Logger logger,
> @Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) {
>          return new RESTSymbolProvider(logger, executionMode);
>      }
>
>      public void contributeSymbolSource(OrderedConfiguration<SymbolProvider>
> providers, Logger logger,
>              @InjectService("RESTSymbolProvider") SymbolProvider
> restSymbolProvider) {
>          providers.add("myAppConfiguration", restSymbolProvider);
>      }
>
> Thanks for any input,
> borut
>
> 2011/12/30 Borut Bolčina<bo...@gmail.com>
>
>> Hello,
>>
>> I am in a process of writting my own SymbolProvider (the configuration for
>> my app will come from REST service) and I am facing a dilemma. The
>> contribution looks like:
>>
>>      public void
>> contributeSymbolSource(OrderedConfiguration<SymbolProvider>  providers,
>> Logger logger) {
>>          providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>> "development"), "after:SystemProperties", "before:ApplicationDefaults");
>>      }
>>
>> You can see I hardcoded the string "development". I want to replace this
>> string with another symbol
>>
>> @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode
>>
>> As I need this symbol in another method (sendEmailMessage) in the
>> AppModule I naively tried like this and failed:
>>
>> public class AppModule {
>>
>>      private String *executionMode*;
>>
>>      public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String
>> executionMode) {
>>          this.executionMode = executionMode;
>>      }
>>
>>      @Startup
>>      public void sendEmailMessage(Logger logger) {
>>          if ("development".equals(*executionMode*)) {
>>              logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT
>> Starting najdi-web");
>>          } else {
>>              logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION
>> Starting najdi-web");
>>          }
>>      }
>>
>>      public void
>> contributeSymbolSource(OrderedConfiguration<SymbolProvider>  providers,
>> Logger logger) {
>>          providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>> *executionMode*), "after:SystemProperties", "before:ApplicationDefaults");
>>      }
>> ...
>> }
>>
>>
>> Fails with:
>>
>> [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: 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'.
>> [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace:
>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing
>> service ServletApplicationInitializer
>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating
>> service ServletApplicationInitializer implementation via
>> org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
>> List, ApplicationInitializer) (at TapestryModule.java:1395)
>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing
>> module class org.apache.tapestry5.services.TapestryModule
>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining
>> injection value for parameter #1
>> (org.apache.tapestry5.ioc.services.PipelineBuilder)
>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving
>> object of type org.apache.tapestry5.ioc.services.PipelineBuilder using
>> MasterObjectProvider
>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing
>> service ServiceOverride
>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating
>> service ServiceOverride implementation via
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
>> ServiceOverrideImpl.java:31) via
>> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
>> TapestryIOCModule.java:49)
>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan
>> to instantiate
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map)
>> [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining
>> injection value for parameter #1 (java.util.Map)
>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting
>> mapped configuration for service ServiceOverride
>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking
>> org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration,
>> boolean) (at TapestryModule.java:2871)
>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining
>> injection value for parameter #2 (boolean)
>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving
>> object of type boolean using MasterObjectProvider
>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing
>> service SymbolSource
>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15] Instantiating
>> service SymbolSource implementation via
>> 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)
>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating plan
>> to instantiate org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl
>> via public
>> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List)
>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining
>> injection value for parameter #1 (java.util.List)
>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [18] Collecting
>> ordered configuration for service SymbolSource
>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [19] Invoking
>> si.najdi.web.services.AppModule.contributeSymbolSource(OrderedConfiguration,
>> Logger) (at AppModule.java:40)
>> [2011/12/30 14:59:04.549] ERROR [o.a.t.i.Registry:log]: [20] Constructing
>> module class si.najdi.web.services.AppModule
>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [21] Determining
>> injection value for parameter #1 (java.lang.String)
>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [22] Resolving
>> object of type java.lang.String using MasterObjectProvider
>> [2011/12/30 14:59:04.551] ERROR [o.a.t.i.Registry:log]: [23] Realizing
>> service SymbolSource
>> [2011/12/30 14:59:04.569] ERROR [o.a.t.i.s.T.SymbolSource:createObject]:
>> Construction of service SymbolSource failed: Unable to instantiate class
>> si.najdi.web.services.AppModule as a module: Exception constructing service
>> 'SymbolSource': 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'.
>> java.lang.RuntimeException: Unable to instantiate class
>> si.najdi.web.services.AppModule as a module: Exception constructing service
>> 'SymbolSource': 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'.
>>
>> Am I facing multiple problems here?
>>
>> Regards,
>> borut
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Is it possible to initialize a custom SymbolProvider with another symbol?

Posted by Muhammad Gelbana <m....@gmail.com>.
If you remove the *@Inject* annotation and keep the *@Symbol* annotation, I
think it should work as you would like it to.

On Tue, Jan 3, 2012 at 8:00 PM, Howard Lewis Ship <hl...@gmail.com> wrote:

> It is not possible.
>
> However, you can initialize a symbol with another symbol's value:
>
> configuration.add("my.new.symbol", "${some.other.symbol}")
>
> Tapestry does a good job of detecting and reporting any unintentional
> cycles you might create this way.
>
> On Tue, Jan 3, 2012 at 7:59 AM, Borut Bolčina <bo...@gmail.com>
> wrote:
> > Hi,
> >
> > I would still like an advice on the approach on how to initialize custom
> > symbol provider with tapestry provided symbol. The code below ends in
> > IllegalStateException
> >
> > Construction of service 'SymbolSource' has failed due to recursion: the
> > service depends on itself in some way.
> >
> >
> > The code from AppModule:
> >
> >    public RESTSymbolProvider buildRESTSymbolProvider(Logger logger,
> > @Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) {
> >        return new RESTSymbolProvider(logger, executionMode);
> >    }
> >
> >    public void
> contributeSymbolSource(OrderedConfiguration<SymbolProvider>
> > providers, Logger logger,
> >            @InjectService("RESTSymbolProvider") SymbolProvider
> > restSymbolProvider) {
> >        providers.add("myAppConfiguration", restSymbolProvider);
> >    }
> >
> > Thanks for any input,
> > borut
> >
> > 2011/12/30 Borut Bolčina <bo...@gmail.com>
> >
> >> Hello,
> >>
> >> I am in a process of writting my own SymbolProvider (the configuration
> for
> >> my app will come from REST service) and I am facing a dilemma. The
> >> contribution looks like:
> >>
> >>     public void
> >> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
> >> Logger logger) {
> >>         providers.add("myAppConfiguration", new
> RESTSymbolProvider(logger,
> >> "development"), "after:SystemProperties", "before:ApplicationDefaults");
> >>     }
> >>
> >> You can see I hardcoded the string "development". I want to replace this
> >> string with another symbol
> >>
> >> @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode
> >>
> >> As I need this symbol in another method (sendEmailMessage) in the
> >> AppModule I naively tried like this and failed:
> >>
> >> public class AppModule {
> >>
> >>     private String *executionMode*;
> >>
> >>     public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String
> >> executionMode) {
> >>         this.executionMode = executionMode;
> >>     }
> >>
> >>     @Startup
> >>     public void sendEmailMessage(Logger logger) {
> >>         if ("development".equals(*executionMode*)) {
> >>             logger.info(MarkerFactory.getMarker("EDITORS"),
> "DEVELOPMENT
> >> Starting najdi-web");
> >>         } else {
> >>             logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION
> >> Starting najdi-web");
> >>         }
> >>     }
> >>
> >>     public void
> >> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
> >> Logger logger) {
> >>         providers.add("myAppConfiguration", new
> RESTSymbolProvider(logger,
> >> *executionMode*), "after:SystemProperties",
> "before:ApplicationDefaults");
> >>     }
> >> ...
> >> }
> >>
> >>
> >> Fails with:
> >>
> >> [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: 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'.
> >> [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations
> trace:
> >> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing
> >> service ServletApplicationInitializer
> >> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2]
> Instantiating
> >> service ServletApplicationInitializer implementation via
> >>
> org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
> >> List, ApplicationInitializer) (at TapestryModule.java:1395)
> >> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3]
> Constructing
> >> module class org.apache.tapestry5.services.TapestryModule
> >> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining
> >> injection value for parameter #1
> >> (org.apache.tapestry5.ioc.services.PipelineBuilder)
> >> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving
> >> object of type org.apache.tapestry5.ioc.services.PipelineBuilder using
> >> MasterObjectProvider
> >> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing
> >> service ServiceOverride
> >> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7]
> Instantiating
> >> service ServiceOverride implementation via
> >> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
> >> ServiceOverrideImpl.java:31) via
> >> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder)
> (at
> >> TapestryIOCModule.java:49)
> >> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating
> plan
> >> to instantiate
> >> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via
> public
> >>
> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map)
> >> [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining
> >> injection value for parameter #1 (java.util.Map)
> >> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting
> >> mapped configuration for service ServiceOverride
> >> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking
> >>
> org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration,
> >> boolean) (at TapestryModule.java:2871)
> >> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining
> >> injection value for parameter #2 (boolean)
> >> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving
> >> object of type boolean using MasterObjectProvider
> >> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing
> >> service SymbolSource
> >> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15]
> Instantiating
> >> service SymbolSource implementation via
> >> 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)
> >> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating
> plan
> >> to instantiate
> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl
> >> via public
> >>
> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List)
> >> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining
> >> injection value for parameter #1 (java.util.List)
> >> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [18] Collecting
> >> ordered configuration for service SymbolSource
> >> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [19] Invoking
> >>
> si.najdi.web.services.AppModule.contributeSymbolSource(OrderedConfiguration,
> >> Logger) (at AppModule.java:40)
> >> [2011/12/30 14:59:04.549] ERROR [o.a.t.i.Registry:log]: [20]
> Constructing
> >> module class si.najdi.web.services.AppModule
> >> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [21] Determining
> >> injection value for parameter #1 (java.lang.String)
> >> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [22] Resolving
> >> object of type java.lang.String using MasterObjectProvider
> >> [2011/12/30 14:59:04.551] ERROR [o.a.t.i.Registry:log]: [23] Realizing
> >> service SymbolSource
> >> [2011/12/30 14:59:04.569] ERROR [o.a.t.i.s.T.SymbolSource:createObject]:
> >> Construction of service SymbolSource failed: Unable to instantiate class
> >> si.najdi.web.services.AppModule as a module: Exception constructing
> service
> >> 'SymbolSource': 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'.
> >> java.lang.RuntimeException: Unable to instantiate class
> >> si.najdi.web.services.AppModule as a module: Exception constructing
> service
> >> 'SymbolSource': 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'.
> >>
> >> Am I facing multiple problems here?
> >>
> >> Regards,
> >> borut
> >>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
*Regards,*
*Muhammad Gelbana
Java Developer*

Re: Is it possible to initialize a custom SymbolProvider with another symbol?

Posted by Howard Lewis Ship <hl...@gmail.com>.
It is not possible.

However, you can initialize a symbol with another symbol's value:

configuration.add("my.new.symbol", "${some.other.symbol}")

Tapestry does a good job of detecting and reporting any unintentional
cycles you might create this way.

On Tue, Jan 3, 2012 at 7:59 AM, Borut Bolčina <bo...@gmail.com> wrote:
> Hi,
>
> I would still like an advice on the approach on how to initialize custom
> symbol provider with tapestry provided symbol. The code below ends in
> IllegalStateException
>
> Construction of service 'SymbolSource' has failed due to recursion: the
> service depends on itself in some way.
>
>
> The code from AppModule:
>
>    public RESTSymbolProvider buildRESTSymbolProvider(Logger logger,
> @Inject @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode) {
>        return new RESTSymbolProvider(logger, executionMode);
>    }
>
>    public void contributeSymbolSource(OrderedConfiguration<SymbolProvider>
> providers, Logger logger,
>            @InjectService("RESTSymbolProvider") SymbolProvider
> restSymbolProvider) {
>        providers.add("myAppConfiguration", restSymbolProvider);
>    }
>
> Thanks for any input,
> borut
>
> 2011/12/30 Borut Bolčina <bo...@gmail.com>
>
>> Hello,
>>
>> I am in a process of writting my own SymbolProvider (the configuration for
>> my app will come from REST service) and I am facing a dilemma. The
>> contribution looks like:
>>
>>     public void
>> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
>> Logger logger) {
>>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>> "development"), "after:SystemProperties", "before:ApplicationDefaults");
>>     }
>>
>> You can see I hardcoded the string "development". I want to replace this
>> string with another symbol
>>
>> @Symbol(SymbolConstants.EXECUTION_MODE) String executionMode
>>
>> As I need this symbol in another method (sendEmailMessage) in the
>> AppModule I naively tried like this and failed:
>>
>> public class AppModule {
>>
>>     private String *executionMode*;
>>
>>     public AppModule(@Symbol(SymbolConstants.EXECUTION_MODE) String
>> executionMode) {
>>         this.executionMode = executionMode;
>>     }
>>
>>     @Startup
>>     public void sendEmailMessage(Logger logger) {
>>         if ("development".equals(*executionMode*)) {
>>             logger.info(MarkerFactory.getMarker("EDITORS"), "DEVELOPMENT
>> Starting najdi-web");
>>         } else {
>>             logger.info(MarkerFactory.getMarker("EDITORS"), "PRODUCTION
>> Starting najdi-web");
>>         }
>>     }
>>
>>     public void
>> contributeSymbolSource(OrderedConfiguration<SymbolProvider> providers,
>> Logger logger) {
>>         providers.add("myAppConfiguration", new RESTSymbolProvider(logger,
>> *executionMode*), "after:SystemProperties", "before:ApplicationDefaults");
>>     }
>> ...
>> }
>>
>>
>> Fails with:
>>
>> [2011/12/30 14:59:04.537] ERROR [o.a.t.i.Registry:log]: 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'.
>> [2011/12/30 14:59:04.538] ERROR [o.a.t.i.Registry:log]: Operations trace:
>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 1] Realizing
>> service ServletApplicationInitializer
>> [2011/12/30 14:59:04.539] ERROR [o.a.t.i.Registry:log]: [ 2] Instantiating
>> service ServletApplicationInitializer implementation via
>> org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
>> List, ApplicationInitializer) (at TapestryModule.java:1395)
>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 3] Constructing
>> module class org.apache.tapestry5.services.TapestryModule
>> [2011/12/30 14:59:04.540] ERROR [o.a.t.i.Registry:log]: [ 4] Determining
>> injection value for parameter #1
>> (org.apache.tapestry5.ioc.services.PipelineBuilder)
>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 5] Resolving
>> object of type org.apache.tapestry5.ioc.services.PipelineBuilder using
>> MasterObjectProvider
>> [2011/12/30 14:59:04.541] ERROR [o.a.t.i.Registry:log]: [ 6] Realizing
>> service ServiceOverride
>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 7] Instantiating
>> service ServiceOverride implementation via
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
>> ServiceOverrideImpl.java:31) via
>> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
>> TapestryIOCModule.java:49)
>> [2011/12/30 14:59:04.542] ERROR [o.a.t.i.Registry:log]: [ 8] Creating plan
>> to instantiate
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl via public
>> org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(java.util.Map)
>> [2011/12/30 14:59:04.543] ERROR [o.a.t.i.Registry:log]: [ 9] Determining
>> injection value for parameter #1 (java.util.Map)
>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [10] Collecting
>> mapped configuration for service ServiceOverride
>> [2011/12/30 14:59:04.544] ERROR [o.a.t.i.Registry:log]: [11] Invoking
>> org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration,
>> boolean) (at TapestryModule.java:2871)
>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [12] Determining
>> injection value for parameter #2 (boolean)
>> [2011/12/30 14:59:04.545] ERROR [o.a.t.i.Registry:log]: [13] Resolving
>> object of type boolean using MasterObjectProvider
>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [14] Realizing
>> service SymbolSource
>> [2011/12/30 14:59:04.546] ERROR [o.a.t.i.Registry:log]: [15] Instantiating
>> service SymbolSource implementation via
>> 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)
>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [16] Creating plan
>> to instantiate org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl
>> via public
>> org.apache.tapestry5.ioc.internal.services.SymbolSourceImpl(java.util.List)
>> [2011/12/30 14:59:04.547] ERROR [o.a.t.i.Registry:log]: [17] Determining
>> injection value for parameter #1 (java.util.List)
>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [18] Collecting
>> ordered configuration for service SymbolSource
>> [2011/12/30 14:59:04.548] ERROR [o.a.t.i.Registry:log]: [19] Invoking
>> si.najdi.web.services.AppModule.contributeSymbolSource(OrderedConfiguration,
>> Logger) (at AppModule.java:40)
>> [2011/12/30 14:59:04.549] ERROR [o.a.t.i.Registry:log]: [20] Constructing
>> module class si.najdi.web.services.AppModule
>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [21] Determining
>> injection value for parameter #1 (java.lang.String)
>> [2011/12/30 14:59:04.550] ERROR [o.a.t.i.Registry:log]: [22] Resolving
>> object of type java.lang.String using MasterObjectProvider
>> [2011/12/30 14:59:04.551] ERROR [o.a.t.i.Registry:log]: [23] Realizing
>> service SymbolSource
>> [2011/12/30 14:59:04.569] ERROR [o.a.t.i.s.T.SymbolSource:createObject]:
>> Construction of service SymbolSource failed: Unable to instantiate class
>> si.najdi.web.services.AppModule as a module: Exception constructing service
>> 'SymbolSource': 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'.
>> java.lang.RuntimeException: Unable to instantiate class
>> si.najdi.web.services.AppModule as a module: Exception constructing service
>> 'SymbolSource': 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'.
>>
>> Am I facing multiple problems here?
>>
>> Regards,
>> borut
>>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org