#2490 The afExplorer cannot boot

go4 Tue 27 Oct 2015

Hi Steve, I get an error when launch afExplorer

[11:18:00 28-Oct-15] [err] [afExplorer] Cannot boot
afIoc::IocErr: No service matches type |->afReflux::GlobalCommands|. Did you forget to define it in your AppModule?
IoC Operation Trace:
  [ 1] Creating REAL Service 'afReflux::Reflux'
  [ 2] Creating 'afReflux::Reflux' via ctor autobuild
  [ 3] Determining injection parameters for afReflux::RefluxImpl Void make(afReflux::EventHub eventHub, |This->Void| in)
  [ 4] Looking for dependency of type |This->Void|
  [ 5] Creating injection plan for fields of afReflux::RefluxImpl
  [ 6] Looking for dependency of type afReflux::UriResolvers
  [ 7] Creating REAL Service 'afReflux::UriResolvers'
  [ 8] Creating 'afReflux::UriResolvers' via ctor autobuild
  [ 9] Determining injection parameters for afReflux::UriResolversImpl Void make(afReflux::UriResolver[] resolvers)
  [10] Looking for dependency of type afReflux::UriResolver[]
  [11] Gathering configuration of type afReflux::UriResolver[]
  [12] Invoking Void contributeUriResolvers(afIoc::Configuration config) on afExplorer::ExplorerModule...
  [13] Autobuilding 'FileResolver'
  [14] Creating 'FileResolver' via ctor autobuild
  [15] Determining injection parameters for afExplorer::FileResolver Void make(|This->Void| in)
  [16] Looking for dependency of type |This->Void|
  [17] Creating injection plan for fields of afExplorer::FileResolver
  [18] Looking for dependency of type afExplorer::Explorer
  [19] Creating REAL Service 'afExplorer::Explorer'
  [20] Creating 'afExplorer::Explorer' via ctor autobuild
  [21] Determining injection parameters for afExplorer::ExplorerImpl Void make(|This->Void| in)
  [22] Looking for dependency of type |This->Void|
  [23] Creating injection plan for fields of afExplorer::ExplorerImpl
  [24] Looking for dependency of type |->afReflux::GlobalCommands|
Stack Trace:
  afIoc::Utils.stackTraceFilter (Utils.fan:53)
  afIoc::RegistryImpl.autobuild (RegistryImpl.fan:237)
  afIoc::Configuration.autobuild (Configuration.fan:18)
  afIoc::Configuration.autobuild (Configuration.fan)
  afExplorer::ExplorerModule.contributeUriResolvers (ExplorerModule.fan:29)
  java.lang.reflect.Method.invoke (Method.java:497)
  fan.sys.Method.invoke (Method.java:559)
  fan.sys.Method$MethodFunc.callList (Method.java:198)
  fan.sys.Method.callList (Method.java:138)
  afIoc::InjectionUtils.callMethod (InjectionUtils.fan:37)
  afIoc::OpTracker.track (OpTracker.fan:31)
  afIoc::InjectionTracker$.track (InjectionTracker.fan:31)
  afIoc::InjectionUtils.callMethod (InjectionUtils.fan:36)
  afIoc::ThreadStack.pushAndRun (ThreadStack.fan:46)
  afIoc::InjectionTracker$.doingMethodInjection (InjectionTracker.fan:126)
  afIoc::InjectionUtils.callMethod (InjectionUtils.fan:34)
  afIoc::ServiceDef.gatherConfiguration (ServiceDef.fan:210)
  afIoc::OpTracker.track (OpTracker.fan:31)
  afIoc::InjectionTracker$.track (InjectionTracker.fan:31)
  afIoc::ServiceDef.gatherConfiguration (ServiceDef.fan:207)
  fan.sys.List.each (List.java:588)
  afIoc::ServiceDef.gatherConfiguration (ServiceDef.fan:206)
  afIoc::ConfigProvider.provide (ConfigProvider.fan:10)
  afIoc::DependencyProvidersImpl.provideDependency (DependencyProviders.fan:61)
  fan.sys.Func.callBool (Func.java:51)
  115 More...

SlimerDude Wed 28 Oct 2015

Tldr:

Try updating IoC to the latest version:

fanr install -r http://pods.fantomfactory.org/fanr/ "afIoc 2.0.10"

Reasoning:

No service matches type |->afReflux::GlobalCommands| sounds like it's trying to inject a Lazy Func - a function which returns a service.

Lazy Funcs were introduced in IoC 2.0.8 but both Reflux and Explorer cite a dependency on IoC 2.0.6 - 2.0. My bad, it seems I forgot to update them. I've resolved this in the next release.

By the way, it's always useful to list pod versions, or ensure the latest are being used.

If unsure, this command can be used to list installed pods:

C:\> fan -pods

go4 Wed 28 Oct 2015

Thank you

Login or Signup to reply.