HikariCP 是 JCA 投诉连接池吗?

is HikariCP a JCA complaint connection pool?

我最近尝试用 wildfly 配置 HikariCP,我想知道,有了 JCA,我是否可以做一个标准的 JCA 特定配置来适应 HikariCP 连接池?

嗯,你的问题很混乱。让我们谈谈重点:

  • 看来您想用 HikariCP 替换 IronJacamar。这是不可能的。 Hikari 是一个 JDBC 连接池,而 IronJacamar 是一个 JCA 容器。除了连接池(实际上不仅是 JDBC 个连接池),JCA 容器还能够进行资源适配器生命周期控制、消息驱动的 bean 处理、MDB 调用上的 EJB 特定线程转换等等。

  • 关于在 JCA 容器中使用 HikariCP 作为资源适配器:几乎不可能。事实上,您可以围绕 Hikari 编写一个包装器以提供特定于 JCA 的配置,因为 JCA 是一个没有严格限制的广泛规范。然而,这将导致额外的开销,并没有特别的好处。另一个问题是 persistence.xml 处理部署:资源适配器的设计寿命比任何其他部署都长。这些与部署无关,只是为了提供一些每个人都可以使用的接口。如果您将 Hikari 管理为 JCA 适配器,则需要通过它的激活规范提供持久性信息。这里唯一的亮点是您可以在 JNDI 中注册 Hikari DataSource,为您的 persistence.xml 提供可靠的源路径。但是,很难预测资源适配器是在 JPA 子系统之前还是之后实例化。

  • 没有特别的理由这样做。 Hikari 所能提供的唯一好处就是速度。 Java EE 与速度无关,它与可靠性和标准驱动架构有关。如果你需要那个速度,你最好保持在 SE 级别,避免所有容器的开销。