#java #wso2 #esb
# #java #wso2 #esb
Вопрос:
Мне нужно написать пользовательский POJOCommandMediator
. Согласно wso2doc, я должен реализовать org.apache.synapse.Command
. Я создаю простой jar с одним классом: …
public class PojoCommandMediator implements Command {
@Override
public void execute() {
}
Но каждый раз, когда я развертываю свой jar, я вижу
Ошибка «Класс не найден в пути» в редакторе последовательности проектирования.
Раньше я успешно писал пользовательский посредник классов, но здесь я сталкиваюсь с некоторыми трудностями.
Итак, у меня есть несколько вопросов:
Правильно ли, что я должен вручную создать каталог посредников (по умолчанию он отсутствует) и поместить мой командный посредник в ESB_HOMErepositorycomponentsmediators
папку:?
Есть ли какие-либо дополнительные требования к пользовательской команде POJO, которые мне нужно знать, кроме как реализовать метод выполнения и создать jar для успешной загрузки командного класса в wso2?
Спасибо за любую помощь! 🙂
Ответ №1:
Вы можете развернуть файл jar с помощью пользовательского POJOCommandMediator в папке ESB_HOME/repository/components/ lib. Таким образом, при перезапуске ESB подберет ваш класс.
—Редактировать—
Фактическая проблема, похоже, связана с компонентом пользовательского интерфейса, который выдает ошибку авторизации. Вместо того, чтобы добавлять его через представление конструктора, вы можете перейти к исходному представлению конфигурации прокси-сервера и добавить следующее.
<inSequence>
<pojoCommand name="class-name"/>
</inSequence>
Таким образом, POJOCommand будет развернут правильно. Надеюсь, это поможет.
Комментарии:
1. Спасибо за ваш ответ. Это не даст никакого эффекта и не решит проблему, потому что, на мой взгляд, класс PojoCommandMediator не расширяет какой-либо абстрактный посредник или не реализует какой-либо интерфейс, кроме Command . Да, ESB также подберет и поместит его в каталог dropins. Я попробовал это, но «Класс не найден» снова. Соответствие каталогу wso2 esb doc ESB_HOME/repository/components / lib предназначено только для посредников классов.
2. Большое спасибо! <Имя pojoCommand=»class-name»/> работает нормально. Похоже на ошибку в пользовательском интерфейсе.