Пользовательская java-функция TIBCO BW через библиотечный jar

Я использовал класс java для создания пользовательской функции BW XPATH, которая работает должным образом.

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

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

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

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

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

размещение JAR и обновление конфигурации где-то должно решить эту проблему. Обращение за помощью к большому сообществу.


person Fryder    schedule 12.02.2015    source источник


Ответы (1)


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

  1. Убедитесь, что версия java используется для компиляции классов и версия, используемая в designer.tra / bwengine.tra

  2. Класс не обязательно должен иметь основной метод

  3. Класс должен реализовывать Serializable, чтобы иметь возможность использовать

  4. Поместите файл jar в каталог BW_HOME / version no / hotfix / lib.

  5. Если дизайнер уже запущен, перезапустите его после размещения файла jar.

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

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

  1. Создайте глобальный объект для класса, как вы делаете shareconnection, например jms, jdbc, и используйте его во всех процессах.
  2. Если он вам нужен в каждом задании, было бы хорошо иметь действие java-метода для создания экземпляра класса java (выберите здесь конструктор) и передать этот вывод на вход другого действия java-метода, где он принимает экземпляр объекта класса и параметры метода. Надеюсь это поможет.
person Rao    schedule 19.02.2015