Я использую AS400 PCML Connector в Wso2 EI 6.1.1 для вызова AS400 -DB2 вызовы удаленных программ.
Проблема: если журнал уровня DEBUG включен для rootlogger в log4j.properties (wso2ei-6.1.1 \ conf), вызов PCML не работает и выдает ошибку: исключение NativeWorkerPool Uncaught.
полная трассировка стека:
образец файла PCML:
Включен уровень журнала DEBUG в файле log4j.properties.
<pcml version="4.0">
<program name="Validate" path="/QSYS.LIB/SVDGDG.LIB/PEB0012.PGM">
<data name="inputNIC" type="char" length="15" usage="input" />
<data name="inputIAC" type="char" length="4" usage="input" />
<data name="outputStatusCode" type="char" length="1" usage="output" />
</program>
</pcml>
Конфигурация коннектора PCML применяется аналогично этой ссылке: https://docs.wso2.com/display/ESBCONNECTORS/Configuring+AS400+PCML+Connector+Operations
log4j.rootLogger=DEBUG, CARBON_CONSOLE, CARBON_LOGFILE, CARBON_MEMORY, CARBON_SYS_LOG, ERROR_LOGFILE
Библиотека реализации драйвера AS400: jt400
Примечание.
Если журнал уровня DEBUG изменен на более высокий уровень (информация / ошибка), вызов PCML работает нормально
- мое фактическое требование - применить журналы для каждого API-интерфейса DEBUG. Поскольку вышеупомянутая проблема возникла для per- Журналы API DEBUG, я попытался глобально включить журнал уровня DEBUG в корневом журнале (отключен для журналов -API). Но проблема остается той же.
- включение проводных журналов не соответствует моим требованиям.
- Эта ошибка возникла из-за проблемы с версией jt400.jar. проблему можно исправить, используя последнюю версию jt400.jar (на данный момент версия 8.5).