6.3. 配置 JDBC 数据源


OSGi 事务架构 中所述,必须在 OSGi 服务注册表中注册一些服务。正如您可以使用 javax.transaction.UserTransaction 接口(例如 javax.transaction.UserTransaction 接口) 找到 (查找)事务管理器实例一样,您可以使用 javax.sql.DataSource 接口与 JDBC 数据源执行相同的操作。要求是:

  • 特定于数据库的数据源,可与目标数据库通信
  • 通用数据源,您可以在其中配置池,以及可能进行事务管理(XA)

在 OSGi 环境中,如 Fuse,如果数据源作为 OSGi 服务注册,则可以从应用程序访问。从根本上讲,它按以下方式完成:

org.osgi.framework.BundleContext.registerService(javax.sql.DataSource.class,
                                                 dataSourceObject,
                                                 properties);
org.osgi.framework.BundleContext.registerService(javax.sql.XADataSource.class,
                                                 xaDataSourceObject,
                                                 properties);

注册这些服务的方法有两种:

  • 使用 jdbc:ds-create Karaf console 命令发布数据源。这是 配置方法
  • 使用 Blueprint、SOSOS Declarative Services (SCR)或仅 BundleContext.registerService () API 调用等方法发布数据源。这个方法需要一个包含代码和/或元数据的专用 OSGi 捆绑包。这是 the_deployment method_。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.