В настоящее время у меня есть преобразование, включающее шаг UserDefinedJavaClass. Это работает как ожидается в Spoon. Когда я пытаюсь запустить эту трансформацию как часть веб-приложения с помощью баночки Чайник я получаю следующее сообщение об ошибке:Ошибка инициализации UserDefinedJavaClass
017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error initializing UserDefinedJavaClass:
2017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleException:
2017/01/20 10:04:56 - Load questionnaires.0 - null
2017/01/20 10:04:56 - Load questionnaires.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error initializing step [Load questionnaires]
2017/01/20 10:04:57 - evalue-di-risk - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Step [Load questionnaires.0] failed to initialize!
Поскольку это работает в ложке, я могу только предположить, что мне не хватает библиотеки. Я уже включил чайник, ядро-чайник (чайник версии 6.1.0.1-196) и janino, которые, как я думал, были все, что мне нужно для этого.
EDIT Я взял каждую банку из папки Spoon lib и выбросил ее в мой webapp, и это тоже не сработало.
EDIT AGAIN Оказалось, что проблема связана с UserDefinedJavaClass, а вход таблицы, содержащий переменные, которые должны быть заменены во время преобразования, не работает и вызывает указанную выше ошибку.
Сразу отметим: У меня была аналогичная проблема при запуске преобразования в отчетах: если значения параметров соединения по умолчанию не приводят к данному соединению, то udjc шаг не удается. Похоже, что шаг udjc сначала проверяется или компилируется с параметрами по умолчанию, а затем, если соединение выполнено успешно, вставляются фактические значения параметров. Я закончил тем, что переписал свою логику с java на javascript. Но если вы вызываете преобразование из другого java-кода, вы можете попытаться изменить рабочий процесс pdi по умолчанию, например. вручную задайте значения параметров по умолчанию до инициализации преобразования. – user4637357
Возможно, мне тоже придется это сделать. Это действительное соединение, и переменные находятся в моей инструкции SQL. –