Its looked like resources are not injected when "javax.inject.Inject" is used.
Denis Jun 14, 2012 v 2:31 AM, Howard Lewis Ship: > I'm not seeing anything here. How about you put your source into a Gist ( > gist.github.com) and paste the URL here? > > On Wed, Jun 13, 2012 at 3:12 PM, Muhammad Gelbana <m.gelb...@gmail.com>wrote: > >> That's all the source for My.java. Tapestry version is 5.3 >> I intend to upgrade to the latest version very soon anyway. >> >> On Wed, Jun 13, 2012 at 11:17 PM, Howard Lewis Ship <hls...@gmail.com >>> wrote: >> >>> What version of Tapestry is this? Can we see more source for >>> com.skycomm.charts.My? >>> >>> >>> >>> >>> On Wed, Jun 13, 2012 at 11:41 AM, Muhammad Gelbana <m.gelb...@gmail.com >>>> wrote: >>> >>>> 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* >>>> >>> >>> >>> >>> -- >>> 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