在railo上查询时遇到意外异常

时间:2014-03-17 15:41:13

标签: mysql coldfusion railo

虽然我正在使用unexpected exception encontered during query,但我尝试将大小超过500 MB的大文件导入到某些gbs中,同时收到此错误<cfsettting requesttimeout = 1000000 >。当我在Railo网站管理员中进行了更改时,它可以正常工作,但我希望使用cfsetting tag来实现。任何人都可以帮助我在页面内使用cffsetting标签我需要做些什么?感谢。

我正在使用

MySQL 5.5.35 Ubuntu 12.04上的Railo 4.2.0。

requestimeout.log

"Severity","ThreadID","Date","Time","Application","Message"
"ERROR","Thread-3","03/06/2014","04:05:24","controler","stop thread (3) because run into a timeout .;java.lang.Throwable;java.lang.Throwable
    at railo.runtime.tag.Http4._doEndTag(Http4.java:611)
    at railo.runtime.tag.Http4.doEndTag(Http4.java:596)
    at admin.resources.text_cfm$cf.call(/railo-context-compiled/admin/resources/text.cfm:48)
    at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:885)
    at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:793)
    at admin.web_cfm$cf.call(/railo-context-compiled/admin/web.cfm:124)
    at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:885)
    at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:837)
    at railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:208)
    at railo.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:86)
    at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2182)
    at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2149)
    at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:332)
    at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:29)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:701)
"

1 个答案:

答案 0 :(得分:0)

以下是Google Railo小组引用的内容(Michael Offner-Streit,铁路技术有限公司首席技术官) 在收到请求标头之前,我们不能从执行cfml文件开始。 因为以前没有调用过railso servlet。 你可以在servlet引擎上设置超时(树脂,tomcat ......),大多数都支持这个。

还有另一种设置每页requesttimeout的方法。只需将以下内容添加到调用的url中,如index.cfm?RequestTimeout = 100 为了安全起见,默认情况下不启用此功能,您必须按如下方式启用它, 得到了铁路管理员到设置/应用程序(/railo-context/admin/web.cfm?action=server.application),在那里你找到&#34; URL中的请求超时&#34;启用此功能。

但这也仅在调用railo时生效。

/米莎

btw:index.cfm?RequestTimeout = 100也适用于ACF5,ACF7,ACF8,ACF9,但不适用于ACF6,他们也在ACF6中删除了此安全性,但在版本7中再次默默添加。

注意:我认为应该解释你的问题。您可以通过在url中添加它并在railo web admin中修改设置(启用请求超时)来完成此操作,它还将确保设置不适用于所有页面(如果从railo admin完成)。