java - 检查 Oracle BPEL 轮询数据库适配器是否正在工作

标签 java oracle oracle11g soa bpel

我已将 JDeveloper 11g 中的 Oracle SOA 组合(带有 BPEL 轮询数据库适配器)部署到 Weblogic 11g。我试图判断它是否有效。我正在查看 soa_server1-diagnostic.log,并看到以下消息:

[2014-10-08T14:53:02.753-05:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: b4de9447a6405836:356834d:148f023a253:-8000-00000000000002ad,1:21897] [APP: soa-infra] JCABinding=>  [NotificationService.SugarCRM_Poll/2.0] :init Successfully initialized SugarCRM_Poll_db.jca 

首先我查看的是正确的日志吗?这是我每次运行时都应该看到的吗?
轮询数据库适配器的 jca 文件如下所示:

<adapter-config name="SugarCRM_Poll" adapter="Database Adapter" wsdlLocation="SugarCRM_Poll.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">

  <connection-factory location="eis/DB/SugarDbProd" UIConnectionName="SugarDbProd" adapterRef=""/>
  <endpoint-activation portType="SugarCRM_Poll_ptt" operation="receive">
    <activation-spec className="oracle.tip.adapter.db.DBActivationSpec">
      <property name="DescriptorName" value="SugarCRM_Poll.OpportunityStagingTable"/>
      <property name="QueryName" value="SugarCRM_PollSelect"/>
      <property name="MappingsMetaDataURL" value="SugarCRM_Poll-or-mappings.xml"/>
      <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
      <property name="MarkReadColumn" value="account_name_new"/>
      <property name="MarkReadValue" value="X"/>
      <property name="MarkUnreadValue" value="R"/>
      <property name="PollingInterval" value="5"/>
      <property name="MaxRaiseSize" value="1"/>
      <property name="MaxTransactionSize" value="10"/>
      <property name="NumberOfThreads" value="1"/>
      <property name="ReturnSingleResultSet" value="false"/>
    </activation-spec>
  </endpoint-activation>


</adapter-config>

我还在 soa_server1-diagnostic.log 中看到此通知:

[2014-10-10T07:31:05.328-05:00] [soa_server1] [NOTIFICATION] [] [oracle.soa.adapter] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: weblogic] [ecid: b4de9447a6405836:356834d:148f023a253:-8000-0000000000000708,1:19750] [APP: soa-infra] Database Adapter NotificationService <oracle.tip.adapter.db.InboundWork handleException> BINDING.JCA-11624[[
DBActivationSpec Polling Exception.
Query name: [SugarCRM_PollSelect], Descriptor name: [SugarCRM_Poll.OpportunityStagingTable]. Polling the database for events failed on this iteration.
Caused by com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed..
  This exception is considered retriable, likely due to a communication failure.  To classify it as non-retriable instead add property nonRetriableErrorCodes with value "0" to your deployment descriptor (i.e. weblogic-ra.xml).  Polling will be attempted again next polling interval.

我能够在 Weblogic 11g 管理控制台中测试连接并且工作正常。我看到以下消息:“服务器 soa_server1 上的 TestSugarDataSource 测试成功。”我还能够使用 netcat 命令成功测试连接。 “nc -vz xx.xx.xx.xx 3306”返回“连接到 xx.xx.xx.xx 3306 端口 [tcp/mysql] 成功!”因此看来连接不是问题。

谢谢

汤姆·亨里克森

最佳答案

通过将 oracle.soa 上的日志配置更改为 TRACE:32 FINEST 日志记录,我能够找到轮询的问题。这使我能够查看为轮询数据库适配器运行的基础查询并进行更正。一旦我进行了此更改并纠正了测试,诊断日志文件就为我提供了所需的一切。

谢谢

汤姆

关于java - 检查 Oracle BPEL 轮询数据库适配器是否正在工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279341/

相关文章:

database - 为什么oracle建立了表索引却还要全表扫描?

Java Stream Sort - 具有 2 个或更多对象条件的比较器

sql - Oracle 数据库 : How to read a BLOB?

java - AWS SDK 错误 : A JNI error has occurred, ... java.lang.NoClassDefFoundError

python - 使用 Python 连接到 Oracle AQ

oracle11g - Oracle Apex 端口更改

java - Oracle clob 上的 union\minus 时发生问题

sql - 根据结果​​计数拆分查询结果

java - Maven 日志查看器/分析器?

java - 是否有用于将 spring 库添加到 Eclipse 中的项目的项目方面?