2009-04-30 2 views
0

TIBCO ActiveMatrix BusinessWorks Палитра Ссылка гласит:(TIBCO BusinessWorks) Как получить доступ к методу Java Global Instance из Java-кода?

«Любая деятельность Java-код может получить доступ к общей Java глобального экземпляра путем вызова статических методов сконфигурированной класса Java», однако, я не смог найти каких-либо примеров кода для этого, или для определения правильного синтаксиса самостоятельно.

Что не работает:

method(); 
Class.method(); 

Что делает работу:

я не знаю, поэтому я здесь :)

ответ

3

Если у вас есть следующий класс, на который ссылается в AliasLibrary:

com.example.foo.Foo

и имеет статический метод бар(), то вы можете позвонить, что в деятельности Java Code просто используя:

com.example.foo.Foo.bar();

в действии Java-кода. Убедитесь, что вы ссылаетесь на AliasLibrary на панели конфигурации Java Code.

Вы можете сделать это, не используя Java Global Instance. Это то, что вы ожидаете от статического метода .... вам не нужна ссылка на объект.

+0

Это полезно в качестве обходного пути (AliasLibrary вместо Java Global Instance), но в документации указано, что JGI будет работать именно так. Это неправильно, или я пропущу что-то очевидное? – sangretu

+2

Я думаю, что документация неверна. – scaganoff

+0

Достаточно справедливо;) Спасибо за помощь! – sangretu

2
  1. В вашем проекте, добавить AliasLibrary задачи из общей палитры. Добавьте файл jar в AliasLibrary, содержащий класс, к которому вы хотите получить доступ.

  2. В рамках процесса процесса BusinessWorks перетащите задачу «Метод Java» на холст. Используйте вкладку конфигурации, чтобы указать AliasLibrary, а затем используйте finder для поиска класса и метода, который вы хотите вызвать. На вкладке «Дополнительно» вы найдете несколько вариантов управления жизненным циклом экземпляра Java, связанным с этим вызовом метода.

При желании, если вы хотите создать экземпляр глобального экземпляра Java, который является общим для нескольких рабочих мест/процессов, а затем использовать задачу «Java Global Instance» из палитры Java. На вкладке конфигурации укажите на AliasLibrary и используйте finder для поиска класса и статического метода, который вы хотите выполнить. Задача «Метод Java» может использоваться для вызова метода в этом глобальном экземпляре.

«Java Global Instance» также может понадобиться, если у вас нет конструктора по умолчанию в вашем классе java.

+0

Это работает для активности Java-метода, но как насчет активности Java-кода? – sangretu

Смежные вопросы