修改帶 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 自定義註解在登入驗證的應用Java
- SpringBoot應用使用自定義的ApplicationContext實現類Spring BootAPPContext
- java自定義註解學習(三)_註解解析及應用Java
- Java 內部類的意義及應用Java
- 重寫console.log咋辦嘞 (解決)
- 重學java之類的定義Java
- 自定義註解以及註解在反射中的應用反射
- 自定義JAVA註解Java
- 不想eject,還咋修改create-react-app的配置?ReactAPP
- Java中的註解-自定義註解Java
- centOS修改主機名,重啟後無效解決CentOS
- Vue修改代理無需重啟專案解決方式Vue
- 解決spring security自定義filter重複執行問題SpringFilter
- Vue富文字帶圖片修改圖片大小自定義選擇項自定義字型Vue自定義字型
- java 自定義表單設計方案Java
- 幾百萬條的報表咋列印?
- Java中的註解及自定義註解你用的怎麼樣,能不能像我這樣應用自如?Java
- java中如何自定義註解Java
- win10微軟自帶應用無法開啟怎麼辦_windows10自帶應用無法開啟的解決方法Win10微軟Windows
- 【JAVA】自定義類載入器實現類隔離Java
- 如何給 SAP ABAP ALV 報表的修改功能新增自定義校驗邏輯試讀版
- nginx重啟報找不到nginx.pid的解決方法Nginx
- 重啟BarTender列印引擎沒響應?你要的故障詳解都在這!
- 線上重定義方式將普通表修改為分割槽表
- 皕傑報表之自定義函式函式
- 自定義帶標尺的seekbar
- 如何修改docker容器的重啟策略(重啟模式)?Docker模式
- 設計模式(三十)----綜合應用-自定義Spring框架-自定義Spring IOC-定義bean、登錄檔相關類設計模式Spring框架Bean
- SpringBoot應用篇(一):自定義starterSpring Boot
- 修改java或css後不生效,還是顯示修改之前的樣式,問題已解決JavaCSS
- golang應用平滑重啟Golang
- Java註解-後設資料、註解分類、內建註解和自定義註解Java
- C++自定義貪吃蛇Snake類一系列問題的解決C++
- 如何快速開發靈活自定義報表
- 自定義異常類
- 初學Kotlin——在自定義View裡的應用KotlinView
- 設計模式(三十一)----綜合應用-自定義Spring框架-自定義Spring IOC-定義解析器、IOC容器相關類設計模式Spring框架
- 一個例子帶你瞭解兩種自定義註解