Мне было поручено создать новый поток, и по какой-то причине я не могу получить доступ к данным, которые поступают из очереди «IN». Я использую MessageBrokerToolkit 7.0.0.1 в Windows. Тестовые сообщения такие же, как и в производственной среде.
CREATE COMPUTE MODULE FLOW_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
DECLARE TMP ROW PASSTHRU('SELECT RAWTOHEX(UTL_RAW.CAST_TO_RAW(DBMS_OBFUSCATION_TOOLKIT.md5(INPUT_STRING => CURRENT_TIMESTAMP)))UNIQUE_ID FROM DUAL');
DECLARE blobMSG BLOB InputRoot.BLOB.BLOB;
DECLARE MSG CHARACTER CAST(blobMSG AS CHARACTER CCSID InputRoot.MQMD.CodedCharSetId ENCODING InputRoot.MQMD.Encoding);
DECLARE TITLE CHAR InputRoot.XML.Request."MessageID";
PASSTHRU(
'INSERT INTO PA0101.DEBUG_TABLE VALUES(?,?,?)',
TMP.UNIQUE_ID,
TITLE,
MSG,
);
RETURN TRUE;
END;
Строки DEBUG_TABLE выглядят так: (разделены вертикальной чертой)
F69A159|||
11C7EBF|||
1077ADD|||
Вот пример сообщения:
<Request>
<MessageID>a1f5298a-e339-423b-ac9a-4654cb46e965</MessageID>
<SendResponse>false</SendResponse>
<BasicElements>
<FeedType>Realtime</FeedType>
<MsgDT>08/09/2015</MsgDt>
<Category>Action</Category>
<PriorityCd>1</PriorityCd>
<SubjectTx>This is important</SubjectTx>
<DetailTx>[lots of html]</DetailTx>
</BasicElements>
</Request>
Когда я пытаюсь запустить утилиты командной строки на сервере, я обычно получаю:
<command>
ld.so.1: <command>: fatal: libjvm.so: open failed: No such file or directory
Killed
Код не выдает никаких предупреждений, а файл .bar строится + развертывается, поэтому я не понимаю, что может пойти не так.