用JAVA自定义类修改报表,重启应用时如何解决?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的朋友找到更简单易行的方法。
这是由JAVA编译语言的特点决定的,修改JAVA程序,重启应用程序是正常的。然而,仅仅通过更改报告来重启整个应用程序有点夸张。报表变化频繁,每次重启应用都会影响业务。
这个问题的根本原因是耦合问题。报表一旦涉及到JAVA代码,就必须与主应用打包部署,也就是耦合在一起,这样就不可能修改报表实时生效(热切换),所以解决这个问题的思路就是将报表与主应用解耦。
一般来说,报表中的JAVA编码主要基于以下原因:
1、数据计算涉及复杂过程和逻辑控制
为报表准备数据所涉及的计算过于复杂,或者需要复杂的逻辑控制,用SQL不易实现,只能用JAVA硬编码。
2、涉及多样性数据源
报表的数据来源很多。说到NoSQL,文本、XML、Hadoop、时序数据库、Webservice等数据源,报表工具无法实现混合计算,报表数据准备需要JAVA。
3、方便应用扩展
未来的业务增长需要应用程序的横向扩展(拆分)。使用SQL不利于以后的子数据库,只能用JAVA计算报表数据。
4、用于管理
出于管理需要,有时需要记录报表访问者、报表查询次数、每次查询的数据等信息。这是通过用JAVA编写一个听力类来实现的。
因此,报表模块的解耦并不容易。最好直接使用具有这些功能的报告工具:
1.复杂运算能力强,能够完成复杂运算,易于实现逻辑控制;
2.多样化的数据源支持,最好混合计算,比如CSV和DB作为联接;
3.计算独立于数据库,便于扩展。
4.支持热切换,无需重启应用即可修改报告。
你可以看看。
如何降低报表应用的耦合度,介绍如何使用报表工具将报表与主应用解耦,并画一张图感受一下:
最初,JAVA程序将报告和主应用程序紧密地联系在一起。现在报表模块可以单独分离维护,解释和执行可以热切换,整个应用不需要重启就可以修改。您甚至可以单独部署报告模板,以便在物理上将其分开。
可以参考该工具对复杂计算的支持。
如何处理报表开发中的复杂逻辑
支持不同数据源的参考
直接在报表中使用不同的数据源。
如何解决用JAVA自定义类修改报表,重启应用时的问题,希望在这里分享。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131710.html