сканирование весны изготовленное на заказ в msf4j

У меня есть приложение msf4j в пакете com.a.sample1 и я хочу сканировать некоторые компоненты в com.a.sample2. Есть ли способ сделать это в msf4j? Я использую:

public static void main(String[] args) {
    MSF4JSpringApplication
            .run(Application.class, args);
}

Я не могу поместить свою заявку в com.пакет для сканирования sample1 и sample2 автоматически, одной из причин является com.a.sample2 поступает из какой-то внешней библиотеки.

В Spring Boot, если компоненты, репозитории JPA или сущности не находятся в подпакетах приложения.пакет java, то мы должны указать их явно. Возможно ли это в MSF4J?

2 ответа

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

    Таким образом, когда вы добавляете аннотацию (созданную в sample1) в sample2, она импортирует конфигурации из sample1 и загружает бобы в sample2.

  2. Я проверил источники MSF4J и обнаружил, что сканирование началось только для пакета класса приложения, переданного в качестве первого аргумента в метод run: https://github.com/wso2/msf4j/blob/release-2.1.0/spring/src/main/java/org/wso2/msf4j/spring/MSF4JSpringApplication.java#L165

    К сожалению, это частный метод, и вы не можете изменить его.
    С другой стороны, аргумент «source» (первый аргумент, используемый в методе run) используется только для определения пакета autoscan — таким образом, вы можете просто поместить любой DummyClass в com.пакет и запустить его через :

    MSF4JSpringApplication
                .run(DummyClass.class, args);