修改帶 JAVA 自定義類的報表還要重啟應用,咋解決?
這是 JAVA 編譯型語言特性決定的,修改 JAVA 程式重啟應用也正常。只不過改報表就要重啟整個應用就有點誇張了,報表變動比較頻繁,每次都重啟應用會影響業務的。
這個問題的根本原因是耦合性問題,報表裡一旦涉及到 JAVA 程式碼就要跟主應用程式一起打包部署了,也就是耦合在一起,想要修改報表實時生效(熱切換)也就不可能了,所以解決這個問題的思路是解耦報表和主應用程式。
一般來說報表中使用 JAVA 編碼主要基於以下幾種原因:
1、資料計算涉及複雜過程和邏輯控制
為報表準備資料時涉及的計算過於複雜,或者需要做比較複雜的邏輯控制,透過 SQL 不易實現,只能透過 JAVA 硬編碼
2、涉及多樣性資料來源
報表的資料來源多種多樣,當涉及 NoSQL、文字、XML、Hadoop、時序資料庫、Webservice 等資料來源時,報表工具無法實現混合計算,需要用 JAVA 實現報表資料準備
3、方便應用擴充套件
未來業務增長需要對應用進行水平擴充套件(拆分),使用 SQL 不利於未來分庫,只能用 JAVA 實現報表資料計算
4、用於管理
為了管理需要,有時需要記錄報表訪問人、報表查詢次數、每次查詢了哪些資料等資訊,透過 JAVA 編寫監聽類實現
這樣看來,要解耦報表模組也不是很容易,最好直接使用具備這些能力的報表工具:
1. 很強的複雜計算能力,能完成較複雜的運算,還容易實現邏輯控制;
2. 多樣性資料來源支援,最好還能混合計算,如 CSV 和 DB 做 join;
3. 計算不依賴資料庫,方便擴充套件
4. 支援熱切換,修改報表不用重啟應用
可以看一下 ,介紹瞭如何使用報表工具解耦報表和主應用,畫個圖感受一下:
原來 JAVA 程式把報表和主應用緊緊綁在一起,現在可以把報表模組單獨拆分維護,解釋執行可以熱切換,修改報表可以不必重啟整個應用了。甚至還可以將報表模板單獨部署,在物理上實現分離。
工具對複雜計算的支援可以參考
對多樣性資料來源的支援參考
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Canvas類的最全面詳解 - 自定義View應用系列CanvasView
- 關於在TreeSet中新增自定義類 報ClassCastException的解決方法ASTException
- Java 自定義註解在登入驗證的應用Java
- android - 解決“應用自定義許可權重名”Android
- Java的自定義異常類Java
- java自定義註解學習(三)_註解解析及應用Java
- WebService中使用自定義類的解決方法(5種)Web
- Java 內部類的意義及應用Java
- 重學java之類的定義Java
- 不想eject,還咋修改create-react-app的配置?ReactAPP
- java 新建立的類要重寫的方法Java
- 修改原始碼,自定義chromium啟動頁原始碼
- ActiveReports 報表應用教程 (2)---清單類報表
- 自定義JAVA註解Java
- java 自定義註解Java
- Java 自定義註解Java
- 自定義註解以及註解在反射中的應用反射
- Vue修改代理無需重啟專案解決方式Vue
- centOS修改主機名,重啟後無效解決CentOS
- [轉載]防止JAVA程式重複啟動的一個另類解決辦法Java
- Vue富文字帶圖片修改圖片大小自定義選擇項自定義字型Vue自定義字型
- Java中的註解-自定義註解Java
- java 應用程式 安裝程式製作(要帶jvm)JavaJVM
- Java自定義一個字典類(Dictionary)Java
- 【譯】如何自定義Flask中的響應類Flask
- 應用PPT的自定義放映功能
- 【轉】 java自定義註解Java
- 要重視報表的資料而不僅僅是做報表
- SpringBoot應用使用自定義的ApplicationContext實現類Spring BootAPPContext
- 解決spring security自定義filter重複執行問題SpringFilter
- win10微軟自帶應用無法開啟怎麼辦_windows10自帶應用無法開啟的解決方法Win10微軟Windows
- java 自定義表單設計方案Java
- 重寫console.log咋辦嘞 (解決)
- 皕傑報表之自定義函式函式
- Devexpress 報表 自定義紙張大小devExpress
- 交叉引用的解決方法——類宣告的應用
- Java中的註解及自定義註解你用的怎麼樣,能不能像我這樣應用自如?Java
- 重啟BarTender列印引擎沒響應?你要的故障詳解都在這!