2015-02-12 2 views
-1

Я использовал класс java для создания пользовательской функции BW XPATH, работающей как ожидалось.TIBCO BW custom javafunction через библиотеку jar

Но теперь я хочу создать файл JAR со всеми пользовательскими функциями, которые мы хотим для нашей компании и поместим их в TIBCO LIB. Я прошу процедуру от любого из того, как это сделать, не используя какие-либо отдельные файлы классов. Таким образом, я могу добавить кучу java-файлов, которые легко доступны для других разработчиков из меню функций.

Я попытался определить псевдоним , как сейчас единственный вариант является:

  1. писать один класс, который использует все функции и сохранить все классы зависимостей в баночке
  2. Поместите банку в LIB
  3. Определение пользовательской функции Java и загрузить класс

К этому уху нет необходимости содержать все классы, только основной класс упакован в ухо.

То, что я пытаюсь точно, аналогично функциям BW, которые мы имеем в вариантах функций конструктора xpath.

размещение JAR и обновление конфигурации, где это необходимо решить. Запрашивая большую помощь сообщества по этому поводу.

ответ

1

Вы можете создать все необходимые классы и обернуть скомпилированные классы в файле jar. Поместите этот файл jar в classpath. Вот несколько указателей:

  1. Убедитесь, что версия Java используется для компиляции классов и версию используемой в designer.tra/bwengine.tra
  2. класса не должны иметь основной метод
  3. Class необходимо реализовать Serializable для того, чтобы иметь возможность использовать
  4. Поместите файл банка под BW_HOME/номер версии/исправление/Lib каталога
  5. Если дизайнер уже запущен, перезагрузите его после размещения файла jar.

    Предполагая, что вы знаете, как вызывать методы своего класса. Я бы просто добавить сюда еще некоторую информацию в случае, если это может быть полезным

BW может вызывать методы Java, как вы можете сделать в Java, т.е., можно создать экземпляр класса Java и вызывать его методы вместо вызова основных метод, который вы упоминаете. Вот как сделать это можно сделать двумя способами:

  1. Создать глобальный объект для класса, как вы делаете shareconnection как JMS, JDBC и использовать это через процессы
  2. В случае, если вам это нужно в каждом job, тогда было бы хорошо иметь java-метод для создания экземпляра класса java (выберите здесь конструктор) и передать этот вывод для ввода другого действия java-метода, где он принимает экземпляр объектов класса и параметров метода. Надеюсь, это поможет.
Смежные вопросы