2011-04-15 52 views
2

我不確定這是一個權限問題,還是JFreeChart(最新版本1.0.13)中的錯誤與我在CentOS中運行在Tomcat上的Web應用程序有關。但我有一個非常奇怪的情況,我在應用程序中觸發了一個事件,最終導致使用提供的參數執行下面的方法。JFreeChart Exceptionless Forever-blocking錯誤

我檢查了documentation,看來這些靜態方法不會拋出異常,所以我只能假設它們返回null系列或類似的,如果它們不能正確執行。但是,就我而言,我將執行導致此代碼運行的用例,並且在查看Tomcat日誌catalina.out時,可以看到「========== ========= 5「出現,但」=================== 6「永遠不會。這就是我難住的地方。很明顯,因爲「圖表」從來沒有取得過,圖像文件永遠不會生成,在我的網頁上留下一個醜陋的錯誤。

任何人都可以澄清爲什麼ChartFactory.createTimeSeriesChart似乎掛起?不會錯誤的輸入導致方法返回一個空系列或其他東西,當然,這個非常成熟的產品不會坐在那裏永遠阻止對嗎?

另一個細節是,這在GWT servlet容器中工作,也是在Windows上的另一個Tomcat servlet容器......哪種讓我覺得可能會有一些權限問題。除了爲我的最後一次測試,我做了一切根...

最後,也許我錯過了巨大的東西,JFree方法拋出異常?也許我的catch塊錯誤,並且該消息永遠不會去我的錯誤日誌?

編輯:我的.war中的類文件編譯了它們正常工作的Windows機器。字節碼是字節碼,對嗎?還是有一些潛在的問題?

編輯2:該項目是無頭的,並配置爲這樣。

代碼:

public LineChart(final String title, List<GraphData> graphxy[], 
      String url, String sensorName[], String unit[], float critHigh, 
      float critLow, Double percent, String historic, String clickZoomIn, 
      String BaseUrl,Date[][] dateDifference) 
    throws IOException 
{ 
    try { 
     ... 
     System.out.println("===================5"); 
     //All the parameters are built defined in excised code: 
      final JFreeChart chart = ChartFactory.createTimeSeriesChart(ShowsensorName, "Date", readUnit, dataset, true, true, false); 
     System.out.println("===================6"); 
     ... 
    } 
    catch (Exception e) 
    { 
     System.out.println("Exception in line chart demo is========="+e); 
    } 
} 

回答

1

這裏有幾件事情要嘗試:

  1. 如果headless,驗證正確的設置。

  2. 在受影響的服務器上嘗試相關demos

  3. 嘗試將圖表作爲應用程序調用,例如, TimeSeriesChartDemo1

  4. 點擊createTimeSeriesChart()鏈接,瀏覽source

+0

是的,我沒有正確設置。其他建議非常感謝。第4點......應該知道的! – kmarks2 2011-04-15 18:07:30