Java/Spring 库服务异步

标签 java spring spring-boot

我创建了一个 java/spring 库,提供可重用的功能,例如调用 ldap 服务来检查用户是否通过给定目录服务的身份验证。

该库正在运行,我可以通过 maven 将其集成到任何给定的 java 项目中,或者将 api 与其余部分一起使用。

我有两个问题:

  1. 我想调用图书馆服务 public boolean authenticateUser(String login, String password)异步。我是否应该在库中对该服务进行异步编码,还是应该由使用应用程序进行异步调用?
  2. 因为它是一个 spring(引导)使用的库,所以我定义了一个专用的 ThreadPoolTaskExecutor图书馆内的 bean 。这是一个好主意(专用 ThreadPoolTaskExecutor )还是消费应用程序应该定义 ThreadPoolExecutor

最佳答案

  1. 您应该提供两个同步版本和一个异步版本,以便客户端可以决定。

  2. 这应该可以由客户端配置。因此,您的库必须提供配置线程池的功能。

也许将您的库实现为 Spring Boot 自动配置启动器可能是一个想法:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-auto-configuration.html

关于Java/Spring 库服务异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949889/

相关文章:

java - JSTL:嵌套的 forEach 循环。内容不显示在单独的行中

Java ScheduledExecutorService 幕后工作

java - 使用spring jpa编写动态查询的方法

Spring Boot 2.Hikari连接池优化

java - 如何使用maven构建spring boot应用程序的库jar

spring-boot - Wildfly 中部署的 Spring Boot 应用程序 "Failed to instantiate WebApplicationInitializer class"

java - 如何结合cer和key生成jks文件

java - 如何找到要与其他元素进行比较的值的索引

java - jackson :反序列化为每个值都具有正确类型的 Map<String, Object>

java - 如何在 Spring 中使用 setter 注入(inject)和 java 配置?