Я пытаюсь получить информацию из таблицы с атрибутом типа Clob, вот как выглядит объект в полезной нагрузке:
TypedValue[value: 'org.mule.runtime.core.internal.streaming.bytes.ManagedCursorStreamProvider@1c11df37', dataType: 'SimpleDataType{type=java.io.InputStream, mimeType='text/plain'}']
Это атрибуты BGQUEUE_EXEC_STATUS_VALUE и BGQUEUE_EXEC_VALUE, используемые в следующих flow:
<flow name="SYS_TBGQUEUEMigrationFlow" doc:id="1302cd81-6b21-424b-9bb8-b097d2ab0c3a" >
<db:select doc:name="Select SYS_TBGQUEUE from Oracle DB" doc:id="c7b33299-b772-4134-abdd-c7dcb3ad630a" config-ref="MYCAREER_DEV_DB" >
<db:sql >SELECT * FROM SYS_TBGQUEUE</db:sql>
</db:select>
<batch:job jobName="sysLogicBatch_Job" doc:id="08898cbe-62c5-4028-9f4f-dc8be9e6d0d9" >
<batch:process-records >
<batch:step name="Batch_Step" doc:id="836a7495-415c-4d5f-945a-03f1f2358cd8" >
<batch:aggregator doc:name="Batch Aggregator" doc:id="0425e88e-5e07-4f04-9016-872ccef025bd" streaming="true">
<foreach doc:name="For Each" doc:id="a2af7287-961e-4c1e-bd13-993d00e75370">
<db:stored-procedure doc:name="Insert into SYS_TBGQUEUE" doc:id="692971ea-d05c-430b-9ae4-3fe8b6d439dc" config-ref="Database_Config">
<db:sql>{call InsertIntoBgQueue (:BGQUEUE_CODE, :BGQUEUETYPE_CODE, :IDENTITY_CODE, :BGQUEUE_DATE_INSERT, :BGQUEUE_LOCK_WORKER_ID,
:BGQUEUE_EXEC_START_DATE, :BGQUEUE_EXEC_EXPIRE_DATE, :BGQUEUE_EXEC_VALUE, :BGQUEUE_EXEC_RETRIES,
:BGQUEUE_EXEC_HEARTBEAT_DATE, :BGQUEUE_EXEC_END_DATE, :BGQUEUE_EXEC_STATUS_ENUM, :BGQUEUE_EXEC_STATUS_VALUE, :BGQUEUE_STATUS)}</db:sql>
<db:input-parameters><![CDATA[#[{
BGQUEUE_CODE : payload.bgqueue_code,
BGQUEUETYPE_CODE : payload.bgqueuetype_code,
IDENTITY_CODE : payload.identity_code,
BGQUEUE_DATE_INSERT : payload.bgqueue_date_insert,
BGQUEUE_LOCK_WORKER_ID : payload.bgqueue_lock_worker_id,
BGQUEUE_EXEC_START_DATE : payload.bgqueue_exec_start_date,
BGQUEUE_EXEC_EXPIRE_DATE : payload.bgqueue_exec_expire_date,
BGQUEUE_EXEC_VALUE : payload.bgqueue_exec_value as String,
BGQUEUE_EXEC_RETRIES : payload.bgqueue_exec_retries,
BGQUEUE_EXEC_HEARTBEAT_DATE : payload.bgqueue_exec_heartbeat_date,
BGQUEUE_EXEC_END_DATE : payload.bgqueue_exec_end_date,
BGQUEUE_EXEC_STATUS_ENUM : payload.bgqueue_exec_status_enum,
BGQUEUE_EXEC_STATUS_VALUE : payload.bgqueue_exec_status_value as String,
BGQUEUE_STATUS : payload.bgqueue_status
}]]]></db:input-parameters>
</db:stored-procedure>
</foreach>
</batch:aggregator>
</batch:step>
</batch:process-records>
<batch:on-complete >
<logger level="INFO" doc:name="Logger" doc:id="a79350d8-65e9-44ac-a966-8a27036a5477" message="SYS_TBGQUEUE finished data migration." />
</batch:on-complete>
</batch:job>
</flow>
Это сообщение об ошибке:
Message : Could not dispatch records to batch queue BSQ-sysLogicBatch_Job-ab0fcad0-7b15-11ea-9403-3e6fc91c389b due to Serialization Exception
Error type : MULE:UNKNOWN
Element : SYS_TBGQUEUEMigrationFlow/processors/1 @ DatabaseConnectorPOC:sysLogic.xml:114
Element XML : <batch:job jobName="sysLogicBatch_Job" doc:id="08898cbe-62c5-4028-9f4f-dc8be9e6d0d9">
<batch:process-records>
<batch:step name="Batch_Step" doc:id="836a7495-415c-4d5f-945a-03f1f2358cd8">
<batch:aggregator doc:name="Batch Aggregator" doc:id="0425e88e-5e07-4f04-9016-872ccef025bd" streaming="true">
<foreach doc:name="For Each" doc:id="a2af7287-961e-4c1e-bd13-993d00e75370">
<db:stored-procedure doc:name="Insert into SYS_TBGQUEUE" doc:id="692971ea-d05c-430b-9ae4-3fe8b6d439dc" config-ref="Database_Config">
<db:sql>{call InsertIntoBgQueue (:BGQUEUE_CODE, :BGQUEUETYPE_CODE, :IDENTITY_CODE, :BGQUEUE_DATE_INSERT, :BGQUEUE_LOCK_WORKER_ID,:BGQUEUE_EXEC_START_DATE, :BGQUEUE_EXEC_EXPIRE_DATE, :BGQUEUE_EXEC_VALUE, :BGQUEUE_EXEC_RETRIES,
:BGQUEUE_EXEC_HEARTBEAT_DATE, :BGQUEUE_EXEC_END_DATE, :BGQUEUE_EXEC_STATUS_ENUM, :BGQUEUE_EXEC_STATUS_VALUE, :BGQUEUE_STATUS)}</db:sql>
<db:input-parameters>#[output application/java
---
{
BGQUEUE_CODE : payload.bgqueue_code,
BGQUEUETYPE_CODE : payload.bgqueuetype_code,
IDENTITY_CODE : payload.identity_code,
BGQUEUE_DATE_INSERT : payload.bgqueue_date_insert,
BGQUEUE_LOCK_WORKER_ID : payload.bgqueue_lock_worker_id,
BGQUEUE_EXEC_START_DATE : payload.bgqueue_exec_start_date,
BGQUEUE_EXEC_EXPIRE_DATE : payload.bgqueue_exec_expire_date,
BGQUEUE_EXEC_VALUE : payload.bgqueue_exec_value,
BGQUEUE_EXEC_RETRIES : payload.bgqueue_exec_retries,
BGQUEUE_EXEC_HEARTBEAT_DATE : payload.bgqueue_exec_heartbeat_date,
BGQUEUE_EXEC_END_DATE : payload.bgqueue_exec_end_date,
BGQUEUE_EXEC_STATUS_ENUM : payload.bgqueue_exec_status_enum,
BGQUEUE_EXEC_STATUS_VALUE : payload.bgqueue_exec_status_value,
BGQUEUE_STATUS : payload.bgqueue_status
}]</db:input-parameters>
</db:stored-procedure>
</foreach>
</batch:aggregator>
</batch:step>
</batch:process-records>
<batch:on-complete>
<logger level="INFO" doc:name="Logger" doc:id="a79350d8-65e9-44ac-a966-8a27036a5477" message="SYS_TBGQUEUE finished data migration."></logger>
</batch:on-complete>
</batch:job>
Кто-нибудь знает, как я могу преобразовать его в строку? Спасибо!