Не удалось найти существующий компонент ColdFusion
Когда я использую следующее для разработки локально, оно работает, когда оно работает, оно работает большую часть времени, но иногда мы получаем следующую ошибку, используя этот код:
Код
CreateObject("component", "model.mThing.Thing");
Теперь model
отображение создается в Application.cfc
Итак model.mThing.Thing
путь всегда должен указывать на существующий cfc, и ww никогда не должен получать следующую ошибку. Так что здесь не так?
Средой является CF8 с использованием fusebox и coldspring, и эта ошибка стала возникать только после того, как мы начали использовать coldspring для хранения наших фабричных cfcs, которые выполняют CreateObject
код выше, который вызывает ошибку ниже.
Ошибка:
"Error","jrpp-839","02/xx/12","xx:yy:zz","appName","Could not find the ColdFusion Component or Interface model.mThing.Thing. Ensure that the name is correct and that the component or interface exists. The specific sequence of files included or processed is: Z:\domains\x.y.com\root\index.cfm, line: 11 "
coldfusion.runtime.CfJspPage$NoSuchTemplateException: Could not find the ColdFusion Component or Interface model.mThing.Thing.
at coldfusion.runtime.TemplateProxyFactory.getResolvedFile(TemplateProxyFactory.java:1173)
at coldfusion.runtime.TemplateProxyFactory.getTemplateFileHelper(TemplateProxyFactory.java:1346)
at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:1289)
at coldfusion.cfc.ComponentProxyFactory.getProxy(ComponentProxyFactory.java:38)
at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65)
at coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:4707)
at coldfusion.runtime.CFPage.CreateObject(CFPage.java:4552)
at cfThingFactory2ecfc633415381$funcCREATEthings.runFunction(Z:\domains\x.y.com\approot\_Model\mThing\ThingFactory.cfc:11)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2471)
at cfThingFactory2ecfc633415381$funcGETthings.runFunction(Z:\domains\x.y.com\approot\_Model\mThing\ThingFactory.cfc:66)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:463)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:453)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:320)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2222)
at cfjs2ethings2dphotos2ecfm1184443389._factor5(Z:\domains\x.y.com\approot\parsed\js.things-photos.cfm:146)
at cfjs2ethings2dphotos2ecfm1184443389._factor12(Z:\domains\x.y.com\approot\parsed\js.things-photos.cfm:136)
at cfjs2ethings2dphotos2ecfm1184443389._factor15(Z:\domains\x.y.com\approot\parsed\js.things-photos.cfm:5)
at cfjs2ethings2dphotos2ecfm1184443389.runPage(Z:\domains\x.y.com\approot\parsed\js.things-photos.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:370)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2661)
at cffusebox52ecfm1103700220.runPage(Z:\domains\x.y.com\coreroot\fusebox5\fusebox5.cfm:188)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:370)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2661)
at cffusebox42eruntime2ecfmx2ecfm2039615664.runPage(Z:\domains\x.y.com\coreroot\fusebox5\fusebox4.runtime.cfmx.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:370)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2661)
at cfindex2ecfm2041455050.runPage(Z:\domains\x.y.com\wwwroot\index.cfm:4)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:370)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2661)
at cfApplication2ecfc594211230$funcONREQUEST.runFunction(Z:\domains\x.y.com\wwwroot\Application.cfc:112)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:448)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:74)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:243)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:269)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.CfmServlet.service(CfmServlet.java:175)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at com.intergral.fusionreactor.filter.FusionReactorFilter.b(FusionReactorFilter.java:376)
at com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:254)
at com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:164)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
3 ответа
У меня была такая же проблема недавно, другой контекст.
Выяснилось, что настройки Администратора отличались между производством.
Включить настройки для каждого приложения Если этот флажок установлен, параметры для каждого приложения включены для всего сервера. Если флажок не установлен, настройки для каждого приложения отключены для всего сервера.
Без этого набора приложение не может установить специфичные для приложения отображения.
В этом блоге упоминалась проблема, аналогичная нашей, мы установили сопоставления в администраторе cf-сервера и посмотрим, поможет ли это.
Чтобы помочь другим, таким как я, найти решение:
У меня была та же проблема, и в ходе дальнейшего тестирования я пришел к выводу, что CFC-файлы кэшируются сервером приложений в запутанном виде, и переименование файла не сработало, как ожидалось. Я попытался перезапустить службу сервера приложений (ColdFusion Application Server), и она начала работать как положено.