最新 最热

将 JAVA 应用程序安装为 WINDOWS 服务

这听起来像是您永远不需要的东西,但有时,当您分发最终用户软件时,您可能需要安装 Java 程序作为 Windows 服务。一个很少人拥有的重要先决条件——拥有一个捆绑的 JRE,所以没有人必须下载和安装一个JRE(会使安装过程不必要地复杂化,并且目标受众不一定精通技术)。

2021-09-24
143

Spring 管理的 Hibernate 事件监听器

Hibernate 提供事件侦听器作为其 SPI 的一部分。您可以将侦听器连接到许多事件,包括预插入、后插入、预删除、刷新等。

2021-09-24
146

使用 Spring 和 Hibernate 自定义审计日志

如果您需要对所有数据库操作进行自动审计,并且您正在使用 Hibernate……您应该使用​Envers​或​spring data jpa auditing​。但是如果由于某些原因您不能使用 ​Envers​,您可以使用 ​hibernate​事件侦听器和 ​spring​事务同步来实现类似的功能。

2021-09-24
149

Java 中的一个糟糕的默认超时设置 Infinity

许多库包装了一些外部通信。无论是类 REST 的 API、消息队列、数据库、邮件服务器还是其他东西。因此,您必须有一些超时时间——用于连接、读取、写入或空闲。遗憾的是,许多库的默认超时设置为“0”或“-1”,这意味着无穷大。

2021-09-24
144

简单的 Springboot 管理设置

Spring Boot Admin 是一个很不错的仪表板,用于监控您的 Spring Boot 应用程序。然而,设置它并不是那么简单。

2021-09-24
146

Java 使用 Jackson编写大型 JSON 文件

有时您需要将大量数据导出为 JSON 到一个文件。也许是“将所有数据导出到 JSON”,或者 GDPR“可移植性权利”,您实际上需要这样做。与任何大型数据集一样,您不能将其全部放入内存并将其写入文件。这需要一段时间,它从数据库中读取大量条目,您需要小心不要使此类导出使整个系统过载或耗尽内存。

2021-09-24
143

Java 为您的 WEB 应用程序启用两步验证

支持双因素身份验证 (2FA) 几乎总是一个好主意,尤其是对于后台系统。2FA 有许多不同的形式,其中一些包括 SMS、TOTP 甚至硬件令牌。

2021-09-24
144

在 JAVA 中使用可信时间戳

可信时间戳是让可信第三方(“时间戳机构”,TSA)以电子形式证明给定事件的时间的过程。欧盟法规 eIDAS 赋予这些时间戳法律效力——即,如果事件带有时间戳,则没有人可以对时间或事件内容提出异议。适用于多种场景,包括时间戳审计日志。(注意:时间戳对于良好的审计跟踪是不够的,因为它不能阻止恶意行为者完全删除事件)

2021-09-24
143

使用 Caffeine 和 Spring Boot 的多个缓存配置

缓存是几乎所有应用程序性能的关键。有时需要分布式缓存,但并非总是如此。在许多情况下,本地缓存可以正常工作,并且不需要分布式缓存的开销和复杂性。

2021-09-24
149

Spring Boot 中的多个 TTL 缓存

Spring Framework 为常见缓存场景提供了全面的抽象,而无需耦合到任何受支持的缓存实现。但是,特定存储的到期时间声明不是此抽象的一部分。如果我们要设置缓存的生存时间,则必须调整所选缓存提供程序的配置。从这篇文章中,您将学习如何为具有不同 TTL 配置的多个 Caffeine 缓存准备设置。

2021-09-24
160