The exception shows that I'm importing "org.apache.log4j.Logger" which is a
mistake but the same happens if I fix the import to become
"org.slf4j.Logger"

The long exception stack trace again:
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:127)-[main] No service
implements the interface *org.slf4j.Logger*.
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:128)-[main] Operations
trace:
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 1]
Realizing service RegistryStartup
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 2]
Instantiating service RegistryStartup implementation via
org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List)
(at RegistryStartup.java:36) via
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
TapestryIOCModule.java:49)
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 3]
Creating plan to instantiate
org.apache.tapestry5.ioc.internal.services.RegistryStartup via public
org.apache.tapestry5.ioc.internal.services.RegistryStartup(org.slf4j.Logger,java.util.List)
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 4]
Determining injection value for parameter #2 (java.util.List)
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 5]
Collecting ordered configuration for service RegistryStartup
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 6]
Invoking
com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
Logger) (at AppModule.java:315)
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 7]
Reloading class com.skycomm.charts.My.
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 8]
Creating plan to instantiate com.skycomm.charts.My via public
com.skycomm.charts.My()
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [ 9]
Calculating possible injection value for field com.skycomm.charts.My.log
(org.slf4j.Logger)
13-06-12 20:39:21 ERROR (OperationTrackerImpl.java:137)-[main] [10]
Resolving object of type org.slf4j.Logger using MasterObjectProvider
13-06-12 20:39:23 ERROR
(RecursiveServiceCreationCheckWrapper.java:64)-[main] Construction of
service RegistryStartup failed: Error invoking service contribution method
com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
Logger): No service implements the interface org.slf4j.Logger.
java.lang.RuntimeException: Error invoking service contribution method
com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
Logger): No service implements the interface org.slf4j.Logger.
at
org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:130)
at
org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:80)
at
org.apache.tapestry5.ioc.internal.RegistryImpl$9.run(RegistryImpl.java:630)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.addToOrderedConfiguration(RegistryImpl.java:626)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.getOrderedConfiguration(RegistryImpl.java:480)
at
org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$2.invoke(ServiceResourcesImpl.java:110)
at
org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$2.invoke(ServiceResourcesImpl.java:107)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getOrderedConfiguration(ServiceResourcesImpl.java:105)
at
org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getOrderedConfiguration(AbstractServiceCreator.java:123)
at
org.apache.tapestry5.ioc.internal.AbstractServiceCreator.access$200(AbstractServiceCreator.java:35)
at
org.apache.tapestry5.ioc.internal.AbstractServiceCreator$1.findResource(AbstractServiceCreator.java:103)
at
org.apache.tapestry5.ioc.internal.util.DelegatingInjectionResources.findResource(DelegatingInjectionResources.java:38)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:231)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:50)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:289)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:286)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:293)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1488)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1483)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480)
at
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52)
at
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
at
org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
at
org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
at
org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
at
org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
at
org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
at
org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:66)
at
org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54)
at $Runnable_1a59e03880f0.delegate(Unknown Source)
at $Runnable_1a59e03880f0.run(Unknown Source)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:322)
at
org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:80)
at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:118)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at runjettyrun.Bootstrap.main(Bootstrap.java:82)
Caused by: org.apache.tapestry5.ioc.internal.OperationException: No service
implements the interface org.slf4j.Logger.
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:45)
at $MasterObjectProvider_1a59e03880c0.provide(Unknown Source)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:868)
at
org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:57)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$25.run(InternalUtils.java:1567)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1116)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.extendPlanForInjectedFields(InternalUtils.java:1534)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.access$200(InternalUtils.java:50)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1496)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1483)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480)
at
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52)
at
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61)
at
org.apache.tapestry5.ioc.internal.ReloadableServiceImplementationObjectCreator.createInstance(ReloadableServiceImplementationObjectCreator.java:52)
at
org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator$1.invoke(AbstractReloadableObjectCreator.java:127)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
at
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
at
org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator.createInstance(AbstractReloadableObjectCreator.java:121)
at
org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator.createObject(AbstractReloadableObjectCreator.java:113)
at $IMyInterface_1a59e0388101.delegate(Unknown Source)
at $IMyInterface_1a59e0388101.a(Unknown Source)
at $IMyInterface_1a59e03880fc.a(Unknown Source)
at
com.skycomm.cth.services.AppModule.contributeRegistryStartup(AppModule.java:316)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:120)
... 69 more
Caused by: java.lang.RuntimeException: No service implements the interface
org.slf4j.Logger.
at
org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAlone(RegistryImpl.java:661)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAndMarkers(RegistryImpl.java:681)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:640)
at
org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:47)
at
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:60)
at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
... 108 more
2012-06-13 20:39:23.578:WARN::failed app: java.lang.RuntimeException:
Exception constructing service 'RegistryStartup': Error invoking service
contribution method
com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
Logger): No service implements the interface org.slf4j.Logger.
2012-06-13 20:39:23.578:WARN::Failed startup of context
org.mortbay.jetty.webapp.WebAppContext@5fb57890{/,E:\Workspace\Eclipse\IpKaizen
- Web\src\main\webapp}
java.lang.RuntimeException: Exception constructing service
'RegistryStartup': Error invoking service contribution method
com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
Logger): No service implements the interface org.slf4j.Logger.
at
org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:75)
at
org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54)
at $Runnable_1a59e03880f0.delegate(Unknown Source)
at $Runnable_1a59e03880f0.run(Unknown Source)
at
org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:322)
at
org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:80)
at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:118)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at runjettyrun.Bootstrap.main(Bootstrap.java:82)


On Wed, Jun 13, 2012 at 8:24 PM, Muhammad Gelbana <m.gelb...@gmail.com>wrote:

> The is nothing really to show.
>
> *My*
> package com.skycomm.charts;
> import javax.inject.Inject;
> import org.apache.log4j.Logger;
>
> public class My implements IMyInterface {
>     @Inject
>     private Logger log;
>
>     public My() {
>         System.out.println(log);
>         log.info("Logger injected in service using @javax.inject.Inject");
>     }
>
>     @Override
>     public void a() {
>         System.out.println("a");
>     }
> };
>
> *IMyInterface*
> package com.skycomm.charts;
> public interface IMyInterface {
>     void a();
> }
>
> *AppModule portion*
> public void contributeRegistryStartup(OrderedConfiguration<Runnable>
> configuration, final Logger log) {
>  m.a();
> // Other stuff
> }
>
> *AppModule bind method*
> public static void bind(ServiceBinder binder) {
>  //Many other binds
> binder.bind(IMyInterface.class, My.class); //I originally had it with
> .eagerLoad() because that's what I actually need, but I removed it after I
> suspected it to be causing the probelem, although now after I removed it,
> it still happens.
> }
>
> *Very long exception*
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:127)-[main] No service
> implements the interface org.apache.log4j.Logger.
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:128)-[main] Operations
> trace:
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 1]
> Realizing service RegistryStartup
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 2]
> Instantiating service RegistryStartup implementation via
> org.apache.tapestry5.ioc.internal.services.RegistryStartup(Logger, List)
> (at RegistryStartup.java:36) via
> org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
> TapestryIOCModule.java:49)
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 3]
> Creating plan to instantiate
> org.apache.tapestry5.ioc.internal.services.RegistryStartup via public
> org.apache.tapestry5.ioc.internal.services.RegistryStartup(org.slf4j.Logger,java.util.List)
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 4]
> Determining injection value for parameter #2 (java.util.List)
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 5]
> Collecting ordered configuration for service RegistryStartup
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 6]
> Invoking
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
> Logger) (at AppModule.java:315)
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 7]
> Reloading class com.skycomm.charts.My.
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 8]
> Creating plan to instantiate com.skycomm.charts.My via public
> com.skycomm.charts.My()
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [ 9]
> Calculating possible injection value for field com.skycomm.charts.My.log
> (org.apache.log4j.Logger)
> 13-06-12 20:15:34 ERROR (OperationTrackerImpl.java:137)-[main] [10]
> Resolving object of type org.apache.log4j.Logger using MasterObjectProvider
> 13-06-12 20:15:36 ERROR
> (RecursiveServiceCreationCheckWrapper.java:64)-[main] Construction of
> service RegistryStartup failed: Error invoking service contribution method
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
> Logger): No service implements the interface org.apache.log4j.Logger.
> java.lang.RuntimeException: Error invoking service contribution method
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
> Logger): No service implements the interface org.apache.log4j.Logger.
>  at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:130)
> at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:80)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl$9.run(RegistryImpl.java:630)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.addToOrderedConfiguration(RegistryImpl.java:626)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getOrderedConfiguration(RegistryImpl.java:480)
>  at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$2.invoke(ServiceResourcesImpl.java:110)
> at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$2.invoke(ServiceResourcesImpl.java:107)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
> at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getOrderedConfiguration(ServiceResourcesImpl.java:105)
>  at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getOrderedConfiguration(AbstractServiceCreator.java:123)
> at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.access$200(AbstractServiceCreator.java:35)
>  at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator$1.findResource(AbstractServiceCreator.java:103)
> at
> org.apache.tapestry5.ioc.internal.util.DelegatingInjectionResources.findResource(DelegatingInjectionResources.java:38)
>  at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:231)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:50)
>  at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:289)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:286)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:293)
>  at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1488)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1483)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480)
>  at
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52)
> at
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
>  at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
> at
> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
>  at
> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
> at
> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
>  at
> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
> at
> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
>  at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
> at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:66)
>  at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54)
> at $Runnable_190859b1af3c.delegate(Unknown Source)
>  at $Runnable_190859b1af3c.run(Unknown Source)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:322)
>  at
> org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:80)
> at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:118)
>  at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>  at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
> at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>  at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>  at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> at org.mortbay.jetty.Server.doStart(Server.java:224)
>  at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at runjettyrun.Bootstrap.main(Bootstrap.java:82)
> Caused by: org.apache.tapestry5.ioc.internal.OperationException: No
> service implements the interface org.apache.log4j.Logger.
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
> at
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:45)
>  at $MasterObjectProvider_190859b1af08.provide(Unknown Source)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:868)
>  at
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:57)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$25.run(InternalUtils.java:1567)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:51)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:48)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:47)
>  at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:76)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1116)
>  at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.extendPlanForInjectedFields(InternalUtils.java:1534)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$200(InternalUtils.java:50)
>  at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1496)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1483)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
> at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480)
>  at
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52)
> at
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61)
>  at
> org.apache.tapestry5.ioc.internal.ReloadableServiceImplementationObjectCreator.createInstance(ReloadableServiceImplementationObjectCreator.java:52)
>  at
> org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator$1.invoke(AbstractReloadableObjectCreator.java:127)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
>  at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121)
>  at
> org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator.createInstance(AbstractReloadableObjectCreator.java:121)
> at
> org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator.createObject(AbstractReloadableObjectCreator.java:113)
>  at $IMyInterface_190859b1af49.delegate(Unknown Source)
> at $IMyInterface_190859b1af49.a(Unknown Source)
>  at $IMyInterface_190859b1af44.a(Unknown Source)
> at
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(AppModule.java:316)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
>  at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:120)
> ... 69 more
> Caused by: java.lang.RuntimeException: No service implements the interface
> org.apache.log4j.Logger.
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAlone(RegistryImpl.java:661)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getServiceByTypeAndMarkers(RegistryImpl.java:681)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:640)
>  at
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:47)
> at
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:60)
>  at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> ... 108 more
> 2012-06-13 20:15:36.602:WARN::failed app: java.lang.RuntimeException:
> Exception constructing service 'RegistryStartup': Error invoking service
> contribution method
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
> Logger): No service implements the interface org.apache.log4j.Logger.
> 2012-06-13 20:15:36.602:WARN::Failed startup of context
> org.mortbay.jetty.webapp.WebAppContext@428c6e04{/,E:\Workspace\Eclipse\IpKaizen
> - Web\src\main\webapp}
> java.lang.RuntimeException: Exception constructing service
> 'RegistryStartup': Error invoking service contribution method
> com.skycomm.cth.services.AppModule.contributeRegistryStartup(OrderedConfiguration,
> Logger): No service implements the interface org.apache.log4j.Logger.
>  at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:75)
> at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54)
>  at $Runnable_190859b1af3c.delegate(Unknown Source)
> at $Runnable_190859b1af3c.run(Unknown Source)
>  at
> org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:322)
> at
> org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:80)
>  at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:118)
> at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>  at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>  at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>  at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>  at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>  at org.mortbay.jetty.Server.doStart(Server.java:224)
> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>  at runjettyrun.Bootstrap.main(Bootstrap.java:82)
>
>
>
>
>
>
> On Wed, Jun 13, 2012 at 6:27 PM, Howard Lewis Ship <hls...@gmail.com>wrote:
>
>> On Wed, Jun 13, 2012 at 7:12 AM, Muhammad Gelbana <m.gelb...@gmail.com>
>> wrote:
>> > I faced the same problem and I'm using the constructor's injection
>> instead.
>> > But why wouldn't the deprecated @InjectResource nor the @Inject
>> annotation
>> > work ? I'm using tapestry5.3.1
>>
>> Without seeing the code, there's no way to answer.
>>
>> http://catb.org/esr/faqs/smart-questions.html
>>
>> >
>> > On Wed, Dec 29, 2010 at 1:33 AM, Howard Lewis Ship <hls...@gmail.com>
>> wrote:
>> >
>> >> You're seeing the evolution of the framework.
>> >>
>> >> Originally, there was only constructor injection for services.  This is
>> >> because we did not, originally, use a special class loader for service
>> >> implementations and we were trying to avoid reflection.
>> >>
>> >> Components always used a special class loader, which allowed for proper
>> >> injection (including intercepting attempted updates to the fields, to
>> make
>> >> the read-only).
>> >>
>> >> Later (5.1 I believe) we started allowing injection into fields of
>> service
>> >> implementation, using reflection.
>> >>
>> >> However, there's an ambiguity.  Normally, once Tapestry selects a
>> >> constructor, it provides an injection value for each parameter, based
>> on
>> >> type (and other annotation).
>> >>
>> >> Normally, a component parameter of type Logger is recognized, by type,
>> as a
>> >> service resource (i.e., not another service, but a unique value
>> constructed
>> >> just for this service).  Adding the @Inject annotation tells Tapestry
>> to
>> >> ignore it as a service resource and resolve it as an ordinary injection
>> >> (i.e., a service, or an object obtained from the MasterObjectProvider).
>> >>
>> >> For fields, each field needs an @Inject annotation (Tapestry ignores
>> most
>> >> fields and only performs injection on the ones that need it).  But
>> >> that ambiguity ... @Inject should also work the same for a field as it
>> does
>> >> for a parameter (meaning, resolve as a service, not a resource).  The
>> >> solution was yet another annotation, @InjectResource, which is only for
>> >> fields, and indicates that Tapestry should perform a resource
>> injection on
>> >> the field, as it would for a constructor parameter.
>> >>
>> >> Confusing?  Yes, just a touch. It's one of the reasons I prefer
>> constructor
>> >> injection.
>> >>
>> >> On Tue, Dec 28, 2010 at 3:15 PM, Thiago H. de Paula Figueiredo <
>> >> thiag...@gmail.com> wrote:
>> >>
>> >> > On Tue, 28 Dec 2010 21:11:58 -0200, Josh Canfield <
>> >> joshcanfi...@gmail.com>
>> >> > wrote:
>> >> >
>> >> >  Weird. Has that always been true?
>> >> >>
>> >> >
>> >> > No. I can't remember when, though.
>> >> >
>> >> >
>> >> >  I'm also confused
>> >> >> why @Inject would work with Logger in a Component, but not in a
>> service.
>> >> >>
>> >> >
>> >> > Injection of some object types are handled by class transformations,
>> not
>> >> > IoC.
>> >> >
>> >> >
>> >> > --
>> >> > Thiago H. de Paula Figueiredo
>> >> > Independent Java, Apache Tapestry 5 and Hibernate consultant,
>> developer,
>> >> > and instructor
>> >> > Owner, Ars Machina Tecnologia da Informação Ltda.
>> >> > http://www.arsmachina.com.br
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> >> > For additional commands, e-mail: users-h...@tapestry.apache.org
>> >> >
>> >> >
>> >>
>> >>
>> >> --
>> >> 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
>> >>
>> >
>> >
>> >
>> > --
>> > *Regards,*
>> > *Muhammad Gelbana
>> > Java Developer*
>>
>>
>>
>> --
>> 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-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>
>
> --
> *Regards,*
> *Muhammad Gelbana
> Java Developer*
>
>


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

Reply via email to