国外域名注册做违法网站新浪云上传wordpress

web/2025/9/28 1:11:34/文章来源:
国外域名注册做违法网站,新浪云上传wordpress,企业做网站需要什么资料,采集微信公众号 做网站如果您使用Java进行编程的时间足够长#xff0c;则有可能需要为业务用户生成报告。 就我而言#xff0c;我已经看到几个项目使用JasperReports库来生成PDF和其他文件格式的报告。 最近#xff0c;我荣幸地观察了Mike和他的团队使用上述报告库及其面临的挑战。 简而言之Jasp… 如果您使用Java进行编程的时间足够长则有可能需要为业务用户生成报告。 就我而言我已经看到几个项目使用JasperReports®库来生成PDF和其他文件格式的报告。 最近我荣幸地观察了Mike和他的团队使用上述报告库及其面临的挑战。 简而言之JasperReports 简而言之使用JasperReportsJR生成报告涉及三个步骤 加载已编译的报告即加载JasperReport对象 通过用数据填充报告来运行报告结果是JasperPrint对象 将填充的报告导出到文件例如使用JRPdfExporter导出到PDF 在Java代码中看起来像这样。 JasperReport compiledReport JasperCompileManager.compileReport(sample.jrxml); MapString, Object parameters ...; java.sql.Connection connection dataSource.getConnection(); try {JasperPrint filledReport JasperFillManager.fillReport(compiledReport, parameters, connection);JasperExportManager.exportReportToPdf(filledReport, report.pdf); } finally {connection.close(); } 多亏了facade类这看起来很简单。 但是外表可能是骗人的 鉴于以上代码段以及概述的三个步骤您认为哪些部分需要最多的时间和内存 听起来像面试问题。 如果您回答2填写数据那是对的 如果您回答了3那也是正确的因为3与2成正比。 恕我直言 大多数在线教程仅显示简单的部分。 就JR而言 似乎缺少对较困难和棘手的部分的讨论。 在这里与Mike的团队一起我们遇到了两个困难内存不足错误和长期运行的报告。 使这些困难特别令人难忘的是它们仅在生产过程中出现而不在开发过程中。 我希望通过共享它们将来可以避免它们。 内存不足错误 第一个挑战是报告内存不足。 在开发过程中与实际操作数据相比我们用于运行报告的测试数据将太小。 因此 为此设计 。 在我们的例子中所有报告都使用JRVirtualizer运行。 这样当达到内存中的页面/对象最大数量时它将刷新到磁盘/文件。 在此过程中我们还了解到虚拟器需要清理。 否则周围会有几个临时文件。 而且只有在报告导出到文件后 我们才能清理这些临时文件。 MapString, Object parameters ...; JRVirtualizer virtualizer new JRFileVirtualizer(100); try {parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);...... filledReport JasperFillManager.fillReport(compiledReport, parameters, ...);// cannot cleanup virtualizer at this pointJasperExportManager.exportReportToPdf(filledReport, ...); } finally {virtualizer.cleanup(); } 有关更多信息请参见Virtualizer Sample – JasperReports 。 请注意当我们在运行报表时遇到内存不足的错误时JR 并不总是罪魁祸首。 有时即使在使用JR之前我们也会遇到内存不足错误。 我们看到了如何滥用JPA来加载报告的整个数据集 Query.getResultList()和TypedQuery.getResultList() 。 同样由于数据集仍然很小因此在开发期间不会显示该错误。 但是当数据集太大而无法容纳在内存中时我们会遇到内存不足错误。 我们选择避免​​使用JPA生成报告。 我猜我们只需要等待JPA 2.2的Query.getResultStream()可用即可。 我希望JPA的Query.getResultList()返回Iterable 。 这样就有可能一次映射一个实体而不是整个结果集。 现在避免加载整个数据集。 一次加载一个记录。 在此过程中我们返回了良好的JDBC。 不错JR很好地使用了ResultSet 。 长期运行的报告 第二个挑战是长期运行报告。 同样在开发过程中可能不会发生这种情况。 充其量将运行10秒钟左右的报告视为冗长。 但是有了实际的运行数据它可以运行大约5-10分钟。 当根据HTTP请求生成报告时这尤其麻烦。 如果报告可以在超时时间段内通常为60秒或最多5分钟开始写入响应输出流那么它很有可能被请求用户通常是通过浏览器接收。 但是如果填写报告需要5分钟以上的时间而导出到文件又需要8分钟那么用户将只会看到超时的HTTP请求并将其记录为错误。 听起来有点熟 请记住报告可能会运行几分钟。 因此 为此设计 。 就我们而言我们在单独的线程上启动报告。 对于通过HTTP请求触发的报告我们将以一个页面进行响应该页面包含指向所生成报告的链接。 这样可以避免超时问题。 当用户单击此链接而报告尚未完成时他/她将看到仍在生成报告。 但完成的报告时他/她就可以看到生成的报告文件。 ExecutorService executorService ...; ... executorService.submit(() - {MapString, Object parameters ...;try {...... filledReport JasperFillManager.fillReport(compiledReport, parameters, ...);JasperExportManager.exportReportToPdf(filledReport, ...);} finally {...} }); 我们还必须添加停止/取消运行报告的功能。 好东西JR有检查Thread.interrupted()代码。 因此仅中断线程将使其停止。 当然您需要编写一些测试来进行验证期望JRFillInterruptedException和ExportInterruptedException 。 在讨论过程中我们重新发现了将“监听器”添加到报告生成中的方法例如FillListener和JRExportProgressMonitor 并为用户提供一些进度信息。 我们还创建了实用程序测试类以通过反复重复给定的数据来生成大量数据。 这对于帮助团队的其他成员开发专为处理长期运行和内存不足错误而设计的JR应用程序很有用。 进一步的设计考虑 要考虑的另一件事是填写报告时需要打开和关闭所需的资源。 这可以是JDBC连接Hibernate会话JPA EntityManager或文件输入流例如CSVXML。 下图是我的设计注意事项的粗略草图。 1. Compiling- - - - - - - - - - - - - -\- - - -\ \ 2. Filling open-close \- - - -/ resource swap to file/ 3. Exporting /- - - - - - - - - - - - - -/ 我们要隔离2并定义装饰器这些装饰器将打开资源填充报告并在finally块中关闭打开的资源。 打开的资源可能取决于报表中的queryString元素如果存在。 在某些情况下如果没有queryString元素则可能无需打开资源。 queryString languagehql![CDATA[ ... ]] /queryString ... queryString languagecsv![CDATA[ ... ]] /queryString 此外我们还希望将2和3组合为一种抽象。 这种单一的抽象使您可以更轻松地进行增强装饰例如将创建的页面对象刷新为文件并在导出过程中将其加载回。 如前所述这就是JRVirtualizer所做的。 但是我们希望使用结合2和3的抽象对对象透明的设计。 致谢 目前为止就这样了。 再次感谢Mike和他的团队分享了他们的经验。 是的他是将自己应用的收入捐赠给慈善机构的那个人 。 另外还要感谢克莱尔Claire通过一次又一次重复给定数据进行测试的想法。 相关代码段可以在GitHub上找到 。 翻译自: https://www.javacodegeeks.com/2018/01/jasperreports-tricky-parts.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学校资源网站建设方案wordpress导入文件格式

0 算法简介 快速排序是一种高效率排序算法,它是对冒泡排序的一种改进,它也是一种不稳定排序算法。快速排序的核心是比较、交换和递归。 在待排序数组中指定一个基准元素pivot(一般选取数组首元素),使得数组排序之后基…

网站建设视频l网站开发主框架一般用什么布局

3.1考虑横风向振动的风荷载 图 3.1 流场中的横流截面 Fig 3.1 The lateral section in flow-field 结构沿高度Z方向作用在结构单位长度上的横风向荷载主要来自于升力,其次来自于阻力。高度z处单位长度上的风荷载 式中,为来流与结构的夹角,称…

南宁网站建设及推广招商网站如何做推广

nfs局域网共享网盘配置 服务器端(以ubuntu为例)第一步:安装 NFS 服务器第二步:创建共享目录第三步:配置 NFS 导出第四步:应用配置第五步:配置防火墙第六步:验证配置 客户端&#xff…

自己做的网站百度搜到国家大事新闻近三天

from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种&…

做网站谁家做的好温州seo博客

视频如何提取文字?你用过哪些视频提取工具?视频转文字工具,又称为语音识别软件,是一款能够将视频中的语音或对话转化为文字的实用工具。它运用了尖端的声音识别和语言理解技术,能精准地捕捉视频中的音频,并…

简述企业网站建设的目的做的最好的微电影网站有哪些

目录 前言阅读对象阅读导航前置知识笔记正文一、单体服务介绍二、服务拆分三、分布式微服务升级前的思考3.1 关于SpringBoot/SpringCloud的思考【有点门槛】 四、SpringCloud升级整合4.1 新建父子项目 学习总结感谢 前言 从本节课开始,我将自己手写一个基于SpringC…

肇庆关键词网站排名重庆网站怎么设置

使用Dapr 编写的是一个多进程的程序, 两个进程之间依赖于启动顺序来组成父子进程,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。好在有Visual Studio 扩展(Microsoft Child Proc…

设计素材网站照片徐州关键字优化资讯

工作中难免会遇到并不“完美”的需求文档,比如牵一发而动全身却不清晰的交互逻辑、子条目频繁的变更、交流缺失导致的歧义等,都会让测试在项目推进中手足无措。 一份好的需求文档,不止能够加速开发和测试的脚步,还能够提前发现风…

咸宁响应式网站建设价格学校网页网站模板

转载自 Java IO: Reader And Writer译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) Java IO的Reader和Writer除了基于字符之外,其他方面都与InputStream和OutputStream非常类似。他们被用于读写文本。InputStream和OutputStream是基于字节的&am…

php网站的优势免费建网站软件下载手机

DOM- 节点操作 一.节点操作 1.DOM节点 目标:能说出DOM节点的类型 DOM节点 DOM树里每一个内容都称之为节点 节点类型 元素节点 所有的标签 比如 body、 div html 是根节点 属性节点 所有的属性 比如 href 文本节点 所有的文本 document树: 总结&…

域名备案和网站备案有什么不同wordpress sahifa主题

简介: 随着人工智能应用在全球范围的普及和风靡,大语言模型技术(Large Language Model,简称 LLM)受到了广泛的关注和应用。而图数据库作为一种处理复杂数据结构的工具,能够为企业构建行业大语言模型提供强大…

可以充值的网站怎么做wordpress副标题怎么写

昨天不该早点走的.... 首先操作限制实际上是一个回文限制 每个$b[i] - b[i - 1]$互不干扰,不妨设这个串关于中心点对称的这么一对区间的串分别为$(S_1, S_2)$ 题目的限制相当与存在$(T_1, T_2)$使得$T_1 inv(S_2) \;and\;T_2 inv(S_1)$ 考虑一对串$(S_1, S_2)$被计…

伊春市网站建设seo综合查询站长工具怎么用

正态性检验相关分析回归分析 所谓假设检验,其实就是根据原假设来构造一种已知分布的统计量来计算概率,根据概率值大小来判断能否拒绝原假设,从而得到一种结论。假设检验的过程就是,构造一个原假设成立条件下的事件A,计…

大良网站建设市场互联网公司排名保定

最近需要写一个评论区功能,所以打算仿照抖音做一个评论功能,支持展开和收起, 首先我们需要对功能做一个拆解,评论区功能,两个模块,一个是发表评论模块,一个是评论展示区。接下来对这两个模块进行…

南京品牌网站设计成交型网站倡导公司

大家好,我是阿赵。   最近,我把用了十几年的百度地图,换成了高德地图。百度地图从功能上是没问题的,非常好用,而导致我不继续用它的原因,其实是一个很小的原因:百度地图在导航的过程中&#x…

推广网站排行榜广东手机网站建设报价

一、项目总体架构图 二、功能介绍 2.1、统一认证功能 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 支持手机号加密码登录 支持openId登录 支持第三方系统单点登录 2.2、分布式系统基础支撑 服务注册发现、路由与负载均衡 服务降级与熔断 服务限流(url/方法级别…

使用iframe做网站短视频营销推广

1. 背景&#xff1a; 项目中使用到了纹理进行插值的加速&#xff0c;因此记录一些自己在学习tex2D的一些过程 2. 代码&#xff1a; #include "cuda_runtime.h" #include "device_launch_parameters.h" #include <assert.h> #include <stdio.h>…

外贸网站建设公司渠道电子商务网站策划书3500字

这是 OpenStack 实施经验分享系列的第 12 篇。 问题描述 客户报告了一个问题&#xff1a;对 instance 执行 migrate 操作&#xff0c;几个小时了一直无法完成&#xff0c;不太正常。 问题分析 遇到这种情况&#xff0c;第一个要检查的就是 instance 所在计算节点的 nova-comput…

成都企业网站公司WordPress 默认链接 媒体文件

一、Arrays的概述 Arrays是操作数组的工具类 二、Arrays的常用方法 Arrays的常用方法基本上都被static静态修饰&#xff0c;因此在使用这些方法时&#xff0c;可以直接通过类名调用 1.toString 语法&#xff1a;Arrays.toString(数组) 用于将数组的元素转换为一个字符串&a…

响应式网站设计软件网络营销网站建设实训

转载于:https://www.cnblogs.com/anc-ox/p/10004571.html