Почему ColdFusion Implicit Setter в конечном итоге совершает сетевые вызовы? - PullRequest
5 голосов
/ 28 февраля 2012

У меня есть неявный установщик в методе init () CFC.Я заметил (с помощью Fusion Reactor и с помощью сообщений об ошибках), что простой вызов setActive (false) завершается сетевым взаимодействием.Я понятия не имею, почему ColdFusion будет выполнять такую ​​большую работу при установке этого значения, используя неявные сеттеры, представленные в ColdFusion 9.

Я использую последнюю версию ColdFusion 9.01 со всеми примененными обновлениями исправлений.

Знаете ли вы, почему ColdFusion проходит через все эти проблемы?

Спасибо.

Метод инициализации моего CFC

/* Constructor
    @user_id A valid User_ID. If provided, the User will self-populate.
*/
public shared.models.objects.User function init (numeric user_id = -1) {
    super.init(argumentCollection=arguments);

    // Prepare structs required for 'adding' methods
    clearRoles();
    setActive(false);  // <--- THIS IS THE LINE 

    setUser_ID(user_id);

    settings = {};

    defaultLanguage = new shared.models.objects.Language();

    setLanguages( [defaultLanguage] );
    setLanguage( defaultLanguage );

    if (user_id == -1) {
        // Construct a 'blank' User
        // addRole('Contributor');
        setRequirePasswordChange(false);
    } else {
        // Attempt to populate a user
        populate();
    }

    return this;
}

Трассировка стека, показывающая сеть

java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at jrun.servlet.jrpp.ProxyEndpoint.readFully(ProxyEndpoint.java:581)
        at jrun.servlet.jrpp.ProxyEndpoint.readFully(ProxyEndpoint.java:573)
        at jrun.servlet.jrpp.ProxyEndpoint.readInt(ProxyEndpoint.java:591)
        at jrun.servlet.jrpp.ProxyEndpoint.readString(ProxyEndpoint.java:620)
        at jrun.servlet.jrpp.ProxyEndpoint.getHeader(ProxyEndpoint.java:762)
        at javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:124)
        at javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:124)
        at javax.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:124)
        at com.intergral.fusionreactor.filter.surrogate.e.getHeader(FusionReactorServletRequestProxy.java:248)
        at coldfusion.runtime.CgiScope.resolve(CgiScope.java:221)
        at coldfusion.runtime.CgiScope.containsName(CgiScope.java:301)
        at coldfusion.runtime.CgiScope.search(CgiScope.java:334)
        at coldfusion.runtime.NeoPageContext.searchScopes(NeoPageContext.java:766)
        at coldfusion.runtime.NeoPageContext.findAttribute(NeoPageContext.java:638)
        at coldfusion.runtime.CfJspPage._get(CfJspPage.java:296)
        at coldfusion.runtime.CfJspPage._get(CfJspPage.java:283)
        at coldfusion.runtime.CfJspPage._get(CfJspPage.java:271)
        at cfUser2ecfc1728567179$funcINIT.runFunction(C:\web\project\projecttv\shared\models\objects\User.cfc:131)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)
        at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:389)
        at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2723)
        at cfBuilder2ecfc1779563022$funcBUILDCFC.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\ioc\Builder.cfc:111)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfInjector2ecfc1868990138$funcBUILDINSTANCE.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\ioc\Injector.cfc:288)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfNoScope2ecfc139649912$funcGETFROMSCOPE.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\ioc\scopes\NoScope.cfc:31)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfInjector2ecfc1868990138$funcGETINSTANCE.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\ioc\Injector.cfc:262)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)
        at cfRequest2ecfc135332213$funcENSUREREQUIREDOBJECTSEXIST.runFunction(C:\web\project\projecttv\atvcms\interceptors\Request.cfc:76)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)
        at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2547)
        at cfRequest2ecfc135332213$funcPREPROCESS.runFunction(C:\web\project\projecttv\atvcms\interceptors\Request.cfc:26)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)
        at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:389)
        at cfInterceptorState2ecfc1253590739$funcINVOKER.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\web\context\InterceptorState.cfc:139)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)
        at cfInterceptorState2ecfc1253590739$funcPROCESS.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\web\context\InterceptorState.cfc:86)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfInterceptorService2ecfc1842875288$funcPROCESSSTATE.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\web\services\InterceptorService.cfc:131)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfColdbox2ecfc1041943003$funcPROCESSCOLDBOXREQUEST.runFunction(C:\web\project\projecttv\lib\frameworks\coldbox35\system\Coldbox.cfc:208)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        at cfApplication2ecfc83985088$funcONREQUESTSTART.runFunction(C:\web\project\projecttv\atvcms\Application.cfc:149)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)
        at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:88)
        at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:258)
        at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:349)
        at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
        at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
        at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
        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.filter.CachingFilter.invoke(CachingFilter.java:62)
        at coldfusion.CfmServlet.service(CfmServlet.java:200)
        at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
        at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
        at com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:428)
        at com.intergral.fusionreactor.filter.FusionReactorFilter.d(FusionReactorFilter.java:262)
        at com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:171)
        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$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
        at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
        at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
        at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

1 Ответ

2 голосов
/ 07 марта 2012

Я столкнулся с той же проблемой.Я полагаю, что могу что-то добавить к этому, но в конечном итоге я думаю, что здесь есть дефект CF, который я попытаюсь уточнить.

Первое замечание в стеке отследит это:

    at coldfusion.runtime.CgiScope.resolve(CgiScope.java:221)
    at coldfusion.runtime.CgiScope.containsName(CgiScope.java:301)
    at coldfusion.runtime.CgiScope.search(CgiScope.java:334)
    at coldfusion.runtime.NeoPageContext.searchScopes(NeoPageContext.java:766)
    at coldfusion.runtime.NeoPageContext.findAttribute(NeoPageContext.java:638)

Когда ColdFusion пытается разрешить переменную с незаданной областью, он будет проходить через порядок приоритетов, тестируя каждую область.Если он полностью переходит в область CGI, сервер CF пытается запросить у соединителя веб-сервера информацию CGI в заголовке запроса.В свою очередь, соединитель пытается прочитать с дескриптора соединителя, который удерживает TCP-соединение, обратно к браузеру.Сетевое соединение, которое вы видите в этом сообщении, может быть соединителем, пытающимся получить некоторые свойства CGI из браузера через TCP.

Если соединение с браузером больше не активно, скажем, пользователь закрыл браузер, щелкнул в другом месте или произошел разрыв сети, то это TCP-соединение может быть « stale ».В этом случае вы увидите трассировку стека в журналах, подобную этой, с основным сообщением «** ошибка при чтении заголовка»

03/06 13:45:52 error Error while reading header <headername>
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
...
at coldfusion.runtime.CgiScope.resolve(CgiScope.java:221)
at coldfusion.runtime.CgiScope.containsName(CgiScope.java:301)
at coldfusion.runtime.CgiScope.search(CgiScope.java:334)

ColdFusion выполнит поиск области при использовании кода, подобного isdefined('myUnscopedVar'), например.Если он доходит до CGI, он запросит у коннектора заголовок myUnscopedVar.Если соединение с браузером пропало, то в журналах будет отображаться сообщение об ошибке « Ошибка при чтении заголовка myUnscopedVar »

Чтобы избежать этого, используйте structKeyExists во всех местах, которые вы используете, - isDefined.

Более подробную информацию можно найти в этих соответствующих записях в блоге:

Если вы ищете ошибкусообщение «ошибка при чтении заголовка» вы фактически получите много ложных срабатываний в результатах поиска, потому что ColdFusion's CFSAVECONTENT реализован как пользовательский тег CF , хранящийся в WEB-INF,и он делает нечто подобное, что имеет тот же эффект, что и isDefined ("anUnscopedVar") , так как он захватывает сгенерированный контент.Встроенный обработчик исключений CF использует cfsavecontent при попытке обработать исключения для отображения, поэтому он перехватывает исключение базового приложения, пытается его обработать, но сталкивается с проблемой «Ошибка при чтении заголовка» и вместо просмотраИсключение исходного приложения: вы получаете эту ошибку заголовка, которая скрывает истинную проблему .

    error Error while reading header S_UNABLE
java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
          ...
    at coldfusion.runtime.CgiScope.resolve(CgiScope.java:221)
    at coldfusion.runtime.CgiScope.containsName(CgiScope.java:301)
    at coldfusion.runtime.CgiScope.search(CgiScope.java:334)
          ...
    at cfsavecontent2ecfm1472308084.runPage(E:\cf9_final\cfusion\wwwroot\WEB-INF\cftags\savecontent.cfm:11)
          ...
    at cfexception_en2exml1502993924.runPage(D:\JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\exception\exception_en.xml:52)
          ...
    at cfdetail2ecfm1809038875.runPage(D:\JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\exception\detail.cfm:35)
          ...
    at cfApplicationException2ecfm797577125.runPage(D:\JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\exception\coldfusion\runtime\ApplicationException.cfm:2)

Опять же, вывод, что если соединение с браузером было разорвано, то ваш код может показатьошибка «чтение заголовка» при поиске CGI по умышленному или из-за использования isDefined для имени переменной с незаданной областью.

Так что это всего лишь некоторая дополнительная справочная информация.Эта проблема пересекается с проблемой ORM в этом потоке.

Я обнаружил, что в ColdFusion 9.01 иногда вызовы неявных сеттеров заставляют ColdFusion пытаться разрешить метод сеттера, как если бы это было свойство, и он будет выглядетьв область CGI, чтобы попытаться найти его.

У меня есть следующая сущность, показанная здесь (частично):

component persistent="true" table="myTable" output="false" extends="myBaseClass" {
property name="myProperty" column="myProperty" type="date" ormtype="timestamp";

Обратите внимание, что она расширяет myBaseClass, который показан (частично) здесь:

component {
public void function doSomething(){
    if (hasProperty('myProperty'))
        setMyProperty(now());
}

В некоторых случаях, когда запрашивается шаблон, использующий сущность, запрос шаблона кажется зависшим в браузере на неопределенное время с вращением адресной строки.Позже при просмотре журналов я обнаружил связанную запись для запроса, показывающую «ошибка при чтении заголовка».

                03/06 13:45:52 error Error while reading header SETMYPROPRTY
            java.net.SocketTimeoutException: Read timed out
            at java.net.SocketInputStream.socketRead0(Native Method)
            ...
            at coldfusion.runtime.CgiScope.resolve(CgiScope.java:221)
            at coldfusion.runtime.CgiScope.containsName(CgiScope.java:301)
            at coldfusion.runtime.CgiScope.search(CgiScope.java:334)
            ...                
            at cfmybaseclass2ecfc1915167844$funcDOSOMETHING.runFunction(X:\MyApp\myBaseClass.cfc:8)
            ...                
            at coldfusion.orm.hibernate.HibernateEventHandler.onFlushDirty(HibernateEventHandler.java:130)
            ...                
            at coldfusion.orm.hibernate.HibernatePersistenceManager.onCommit(HibernatePersistenceManager.java:950)
            ...
            at cfsomecomp2ecfc1707726523$funcRUN.runFunction(X:\MyApp\SomeComp.cfc:131)

Эта трассировка стека говорит мне, что ColdFusion пытался разрешить неявный установщик и пыталсянайдите его в области CGI, запросив у коннектора заголовок HTTP-запроса с тем же именем.

Для меня попытка разрешить неявный метод получения путем поиска в области CGI для заголовка запроса выглядит дефектом ColdFusion.

Мнения

...