哪里可以找到底层数据库中的OSB业务服务配置详细信息?

时间:2016-10-18 14:46:15

标签: osb

在端点uri更改的OSB层中,我需要向核心组警告端点已更改并进行检查。我尝试了SLA警报规则,但它没有选项。我的问题是,端点uri应该保存在底层数据库的某个地方。如果是,那么查询它的模式和表名是什么。

2 个答案:

答案 0 :(得分:1)

URI或实际上OSB工件的任何其他部分都不存储在关系数据库中,而是保存在其原始XML结构的内存中。它只能通过专用会话管理API访问。您需要使用的接口是com.bea.wli.sb.management.configuration和com.bea.wli.sb.management.query包的一部分。不幸的是,它并不像听起来那么简单,简而言之,就是提取您需要的URI信息:

  1. 创建会话实例(SessionManagementMBean)
  2. 获取对SessionManagementMBean
  3. 进行操作的ALSBConfigurationMBean实例
  4. 创建查询对象实例(BusinessServiceQuery)并在ALSBConfigurationMBean上运行它以获取您感兴趣的osb工件的ref对象
  5. 在ref对象上调用getServiceDefinition以获取XML服务 定义
  6. 使用XPath从XML服务定义中提取URI
  7. 这种方法的缺点是,每次要检查是否有任何更改时,您基本上都在汇集配置。

    可以在Oracle Fusion Middleware Java API Reference for Oracle Service Bus

    中找到包括JAVA / WLST示例在内的更多信息

    还有一篇很好的博客文章描述了WLST ALSB/OSB customization using WLST

    的OSB定制

答案 1 :(得分:0)

可以获取有关服务及其所有属性的信息via Java API。 API文档包含示例代码,因此您可以非常快速地启动并运行它,请在关注给定链接时查看查询资源段落。

我们使用API​​来读取服务(代理和业务)配置以及简单管理。

只要您只读取属性,就不需要处理管理会话。更改值后,您需要启动会话并在完成后激活它 - 这是一种非常类似于Service bus console的方法。