当我在本地使用以下代码进行开发时,它可以工作,当它在生产中时,它大部分时间都可以工作,但使用此代码时,我们每隔一段时间就会收到以下错误:
代码
CreateObject("component", "model.mThing.Thing");
现在model
映射是在Application.cfc
中创建的,因此model.mThing.Thing
路径应该始终指向存在的cfc,ww永远不会得到以下错误。。那么这里出了什么问题?
环境是使用保险丝盒和coldspling的CF8,这个错误是在我们开始使用coldsplig存储我们的工厂cfc之后才开始发生的,这些cfc执行上面的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:domainsx.y.comrootindex.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:domainsx.y.comapproot_ModelmThingThingFactory.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:domainsx.y.comapproot_ModelmThingThingFactory.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:domainsx.y.comapprootparsedjs.things-photos.cfm:146)
at cfjs2ethings2dphotos2ecfm1184443389._factor12(Z:domainsx.y.comapprootparsedjs.things-photos.cfm:136)
at cfjs2ethings2dphotos2ecfm1184443389._factor15(Z:domainsx.y.comapprootparsedjs.things-photos.cfm:5)
at cfjs2ethings2dphotos2ecfm1184443389.runPage(Z:domainsx.y.comapprootparsedjs.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:domainsx.y.comcorerootfusebox5fusebox5.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:domainsx.y.comcorerootfusebox5fusebox4.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:domainsx.y.comwwwrootindex.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:domainsx.y.comwwwrootApplication.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)
我最近遇到了同样的问题,不同的上下文。
结果发现,不同生产的管理员设置不同。
启用每个应用程序的设置选中时,将在服务器范围内启用每个应用程序的设置。如果未选中,则在服务器范围内禁用每个应用程序的设置。
没有该设置,应用程序就无法设置特定于应用程序的映射。
这篇博客文章提到了一个与我们类似的问题,我们已经在cf服务器管理员中设置了映射,我们将看看这是否有帮助。
要帮助像我这样的人来这里寻求解决方案:
我也遇到了同样的问题,通过进一步的测试,我推断CFCs是由应用程序服务器以一种复杂的方式缓存的,重命名文件并没有像预期的那样工作。我尝试重新启动应用程序服务器服务(ColdFusion应用程序服务器),它开始按预期工作。