2012-02-27 25 views
5

Tôi có một hàm setter ngầm trong phương thức init() của CFC. Tôi đã quan sát (bằng cách sử dụng Fusion Reactor, và, thông qua các thông báo lỗi) rằng các cuộc gọi đơn giản để setActive (false) kết thúc lên làm mạng. Tôi không biết tại sao ColdFusion sẽ làm nhiều việc như vậy trong khi thiết lập giá trị này bằng cách sử dụng các trình cài đặt ngầm được giới thiệu với ColdFusion 9.Tại sao một ColdFusion Implicit Setter lại kết thúc cuộc gọi mạng?

Tôi đang chạy phiên bản ColdFusion 9.01 mới nhất với tất cả các bản cập nhật hotfix được áp dụng.

Bạn có biết tại sao ColdFusion sẽ trải qua tất cả sự cố này?

Cảm ơn.

Các Init Phương pháp CFC tôi

/* 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; 
} 

Các stack trace cho thấy mạng

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) 
+0

CFC của bạn có đang mở rộng một thành phần khác có thể đã được xác định rõ ràng không? –

+0

Ngoài ra, bạn có hàm onMissingMethod được định nghĩa cho CFC của bạn (hoặc bất kỳ CFC nào bạn có thể đang mở rộng)? –

+0

@JakeFeasel Không, không có phương thức setActive() khác, và không có onMissingMethod(). Cảm ơn. –

Trả lời

2

Tôi đang gặp phải vấn đề tương tự. Tôi tin rằng tôi có thể thêm một cái gì đó để này nhưng cuối cùng tôi nghĩ rằng có một lỗi CF ở đây mà tôi sẽ cố gắng để xây dựng trên.

thông báo đầu tiên trong ngăn xếp dấu vết này:

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) 

Khi ColdFusion cố gắng giải quyết một biến unscoped, nó sẽ làm việc theo cách của mình lên thông qua trình tự phạm vi ưu tiên thử nghiệm mỗi phạm vi. Nếu nó được tất cả các cách để phạm vi CGI, máy chủ CF cố gắng để yêu cầu kết nối máy chủ web cho thông tin CGI trong tiêu đề của yêu cầu. Đổi lại, trình kết nối cố gắng đọc từ trình xử lý kết nối đang giữ kết nối TCP trở lại trình duyệt. Kết nối mạng mà bạn nhìn thấy trong bài viết gốc này có thể là trình kết nối cố thu thập một số thuộc tính CGI từ trình duyệt qua TCP.

Nếu kết nối trình duyệt không còn hoạt động, giả sử người dùng đóng trình duyệt, nhấp vào nơi khác hoặc có gián đoạn mạng, khi đó kết nối TCP có thể là "". Trong trường hợp đó, bạn sẽ thấy một vết đống trong các bản ghi như thế này với thông điệp chính là "** Lỗi lỗi khi đọc tiêu đề"

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 sẽ làm một phạm vi tìm kiếm khi sử dụng mã như isdefined (' myUnscopedVar ') chẳng hạn. Nếu nó được tất cả các cách để CGI, sau đó nó sẽ yêu cầu kết nối cho tiêu đề được gọi là myUnscopedVar. Nếu kết nối trình duyệt biến mất, thì nhật ký sẽ hiển thị lỗi "lỗi khi đọc tiêu đề myUnscopedVar"

Cách để tránh điều đó là sử dụng structKeyExists ở tất cả các địa điểm bạn sẽ sử dụng.

Thông tin chi tiết được tìm thấy trong các entry liên quan:

Nếu bạn tìm kiếm được thông báo lỗi "lỗi Erro r trong khi đọc tiêu đề "bạn sẽ thực sự nhận được rất nhiều kết quả sai trong kết quả tìm kiếm bởi vì Thẻ ColdFusion của CFSAVECONTENT được triển khai dưới dạng thẻ tùy chỉnh CF được lưu trữ trong WEB-INF và tương tự như vậy có tác dụng tương tự của isDefined ("anUnscopedVar") theo cách nó nắm bắt nội dung được tạo. Trình xử lý ngoại lệ tích hợp sẵn của CF sử dụng cfsavecontent khi cố gắng hiển thị ngoại lệ cho màn hình, vì vậy nó bẫy ngoại lệ ứng dụng cơ bản, cố gắng làm đẹp nó, nhưng nhấn vào lỗi "Error error while reading header" và thay vì nhìn thấy ngoại lệ ứng dụng ban đầu, bạn nhận được lỗi tiêu đề này che giấu vấn đề thực sự.

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) 

Một lần nữa kết luận có là nếu kết nối trình duyệt đã được giảm xuống, sau đó mã của bạn có thể hiển thị lỗi "đọc tiêu đề" khi thực hiện một tra cứu CGI hoặc bằng ý định hoặc do của việc sử dụng isDefined trên một biến unscoped Tên.

Vì vậy, đó chỉ là một số thông tin cơ bản có liên quan. Vấn đề này cắt với vấn đề ORM trong chủ đề này. Tôi đã tìm thấy rằng trong ColdFusion 9,01, đôi khi các cuộc gọi đến những người định cư tiềm ẩn khiến ColdFusion cố gắng giải quyết phương thức setter như thể nó là một tài sản, và nó sẽ nhìn vào phạm vi CGI để tìm nó.

Tôi đã thực thể sau đây trình bày ở đây (một phần):

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

Chú ý rằng nó kéo dài myBaseClass, mà được hiển thị (một phần) ở đây:

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

Trong một số trường khi một mẫu là được yêu cầu sử dụng thực thể, yêu cầu mẫu xuất hiện để treo trong trình duyệt vô thời hạn với kéo thanh địa chỉ. Sau đó khi xem nhật ký, tôi sẽ tìm thấy mục nhập có liên quan cho yêu cầu hiển thị "lỗi khi đọc tiêu đề".

   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) 

đống này dấu vết nói với tôi rằng ColdFusion đã cố gắng để giải quyết một setter ngầm và cố gắng để tìm thấy nó trong phạm vi CGI bằng cách yêu cầu kết nối cho một yêu cầu HTTP header cùng tên.

Với tôi, cố gắng giải quyết một trình thu thập ngầm bằng cách tìm kiếm phạm vi CGI cho Tiêu đề yêu cầu có vẻ như một lỗi Coldfusion.

Ý kiến?

+0

Đã ghi 2 lỗi: https://bugbase.adobe.com/index.cfm?event=bug&id=3132889 và https://bugbase.adobe.com/index.cfm?event=bug&id=3132879 –

Các vấn đề liên quan