JBoss 应用服务器 7 已发布!
IronJacamar 项目在服务器内部提供了 Java EE 连接器架构 1.6 规范的实现。
为什么 JCA 那么重要?
Java EE 连接器架构(JCA)是 Java 企业版平台中那些“隐藏”技术之一,如果你问我,规范应该更多地用于实现企业解决方案。
你可能要问,“JCA 有什么特别之处?”如果我们看看规范的介绍,我们就会看到
Java 连接器架构(JCA)定义了连接 Java EE 平台到异构企业信息系统(EIS)的标准架构。EIS 的例子包括企业资源计划(ERP)、主机事务处理(TP)、数据库和消息系统。
嘿,等等……数据库和消息系统?!
是的,每次你在应用程序中访问数据库或消息系统——或者使用隐藏这些系统的技术,如 JPA 和 EJB/MDBs——它们都会通过 IronJacamar 容器。
资源适配器——企业存档部署格式——为这些系统提供特定的接口,例如向应用程序公开 JDBC 或 JMS API——这意味着 JCA 容器对应用程序来说是“隐藏”的。
这导致了一个问题,“我为什么要关心?”嗯,因为 IronJacamar 容器控制所有连接及其属性,这意味着 JCA 容器可以在 API 上添加额外的功能——“之上”——例如连接池、连接验证、错误情况下的刷新策略、连接的重新认证等。
那些你视为理所当然的应用服务器会提供给你的东西——现在你知道我们是如何做到的:)
进入 IronJacamar
如上所述,IronJacamar 项目为 JBoss AS 7 提供了 JCA 容器,因此该项目的功能真正规定了数据源可以做什么以及资源适配器部署可以使用的功能。
我写了一篇关于我们的1.0.0.Final版本发布的博客在这里 - 这将为您提供一些关于项目内容的洞察。
是的,该项目也包含在我们的Java EE 6 Web Profile捆绑包中。
部署资源适配器
文档说明展示了如何以不同方式部署应用程序,但到目前为止,我们假设您已经手动将eis.rar
文件复制到deployments/目录。
接下来,您需要配置资源适配器,比如提供连接工厂的JNDI名称。
一个例子可能看起来像这样
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"> <resource-adapters> <resource-adapter> <archive>eis.rar</archive> <config-property name="Server">localhost</config-property> <config-property name="Port">19000</config-property> <transaction-support>XATransaction</transaction-support> <connection-definitions> <connection-definition class-name="com.acme.eis.ra.EISManagedConnectionFactory" jndi-name="java:/eis/AcmeConnectionFactory" pool-name="AcmeConnectionFactory"> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> </pool> <security> <application/> </security> </connection-definition> </connection-definitions> </resource-adapter> </resource-adapters> </subsystem>
这配置了com.acme.eis.ra.EISManagedConnectionFactory
的连接工厂位于java:/eis/AcmeConnectionFactory
下。
替代方案 - 您可以在.rar归档中添加一个META-INF/ironjacamar.xml
文件来包含配置。
了解更多
请参阅我们的文档,了解更多关于Java EE连接器架构的信息,并通过论坛给我们发送反馈。
务必阅读Stefano关于如何在AS 7中进行数据源部署的博客《如何创建和管理AS 7中的数据源》。
对于即将摇滚的人们,我们向您致敬!