Метод @ValidateConnection не может быть вызван при использовании компонента @Category

У меня проблема в новом проекте devkit, где не удается вызвать следующий метод @ValidateConnection (но мои методы @processor вызываются нормально при запросе в потоках)

 @ValidateConnection
    public boolean isConnected() {
        return isConnected;
    }

Я подумал, что это нужно вызвать, чтобы проверить, следует ли вызывать метод @Connect.

Я думаю, это потому, что я использую категорию, отличную от категории по умолчанию (Компоненты) для соединителя.

@Category(name = "org.mule.tooling.category.core", description = "Components")

И результирующее поведение отличается от того, к чему я привык с DevKit в режиме облачного коннектора.

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

РЕДАКТИРОВАТЬ_ _ __ _ __ _ __ _ __ _ ___ < / strong> Я действительно пытался перенести его обратно на облачный коннектор @cat и такое же поведение, возможно, это проблема с devkit -DarchetypeVersion = 3.4.0, я использовал что-то 3.2.x раньше, и все работало немного лучше


person Nikos    schedule 11.07.2013    source источник


Ответы (1)


Аннотированный метод @ValidateConnection в @Connector вызывается в конце метода makeObject() сгенерированного класса *ConnectionFactory. Если вы поищете ссылки на то, кто звонит вашему isConnected(), вы сможете это подтвердить.

Так что нет, вам не нужно выполнять проверки, это должно выполняться автоматически за вас.

Должно быть чего-то еще не хватает ... у вас есть @ConnectionIdentifier аннотированный метод?

PS. @Category аннотация предназначена исключительно для косметических целей в Studio.

person David Dossot    schedule 11.07.2013
comment
завтра проверю, я знаю, что добавление @ConnectionIdentifier не имело значения .. - person Nikos; 12.07.2013
comment
Интересно, что выполнение текстового поиска для isConnected не привело ни к каким совпадениям в сгенерированных источниках. - person Nikos; 12.07.2013
comment
Это плохо, ИМО, где-то есть проблема. Также в вашей IDE нет справочного поиска? :) - person David Dossot; 12.07.2013
comment
eclipse ctrl + shift + G в этом случае бесполезен, текстовый поиск просто находит совпадения в apiDOcs - person Nikos; 12.07.2013
comment
Сейчас у нас просто будет обходной путь, выполняя проверки инициализации в каждом методе @proc. Возможно, в следующем проекте devKit это сработает, на данный момент DevKit кажется немного случайным. Но это лучше, чем делать соединители по-старому. - person Nikos; 12.07.2013
comment
Это отстой: не делай этого. DevKit работает, нам нужно выяснить, почему это не так в вашем конкретном случае, что сложно с частичной информацией, которую вы предоставляете. Вы можете где-нибудь поделиться своим проектом Maven? - person David Dossot; 12.07.2013
comment
Хм, по какой-то причине, когда нет класса FooConnectionManager, созданного как мой последний успешный проект devKit - person Nikos; 12.07.2013
comment
в сгенерированном пакете адаптера у меня есть только классы [HttpCallbackAdapter.java, PoolManager.java], а в другом успешном проекте: [FooCapabilitiesAdapter.java, FooConnectionManager.java, FooInjectionAdapter.java, FooLifecycleAdapter.java] - person Nikos; 12.07.2013
comment
есть все эти другие пакеты, созданные также как [oauth, config, connection, devkit..etc], похоже, ничего особенного для моего проекта не создается. - person Nikos; 12.07.2013
comment
Действительно, есть проблема. Можете ли вы показать соответствующие части вашего POM? Может это просто проблема с конфигурацией? - person David Dossot; 12.07.2013