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

时间:2014-10-09 13:12:59

标签: java oracle oracle11g soa bpel

我已经使用BPEL轮询数据库适配器从JDeveloper 11g部署了一个Oracle SOA组合到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]成功!”所以看起来连接不是问题。

谢谢,

汤姆·亨里克森

1 个答案:

答案 0 :(得分:1)

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

谢谢,

汤姆