您好,登錄后才能下訂單哦!
修改帶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 程序把報表和主應用緊緊綁在一起,現在可以把報表模塊單獨拆分維護,解釋執行可以熱切換,修改報表可以不必重啟整個應用了。甚至還可以將報表模板單獨部署,在物理上實現分離。
工具對復雜計算的支持可以參考
如何應對報表開發中的復雜邏輯
對多樣性數據源的支持參考
在報表中直接使用多樣性數據源
關于修改帶JAVA 自定義類的報表還要重啟應用該怎么解決問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。