Przeznaczenie
Moduł component-import służy do importu komponentów z systemu PlusWorkflow lub innych wtyczek. Zaimportowany moduł trafia do kontekstu wtyczki, dzięki czemu do jego pobrania możemy użyć wstrzykiwania zależności (Autowired).
Konfiguracja
Moduł component-import zawiera następujące opcje konfiguracyjne:
Atrybuty
Nazwa | Wymagany | Opis |
---|---|---|
key | ![]() | Unikalny klucz tego modułu. Pod tym kluczem serwis zostanie zarejestrowany w kontekście wtyczki (bean name). |
source | Źródło, z którego pobieramy komponent:
Domyślnie system. | |
interface | ![]() | Nazwa klasy importowanego serwisu/komponentu Nie musi to być interfejs, ale wykorzystywanie interfejsów jest zalecane |
filter | Opcjonalny filtr serwisu. Jego znaczenie jest inne w zależności od atrybutu source:
Serwisy udostępnione z wtyczek mogą być opisane dodatkowymi atrybutami. Filtr pozwala na pobranie tylko odpowiedniego serwisu. Więcej o filtrach w dokumentacji OSGi. |
Przykładowy deskryptor
<?xml version="1.0" encoding="UTF-8"?> <plugin key="com.suncode.plugins-helloworld" name="Hello World"> <!-- Import serwisu UserService z systemu --> <component-import key="userService" source="system" interface="com.suncode.pwfl.administration.user.UserService" /> <!-- Import serwisu z innej wtyczki (nie jest ważna wtyczka, tylko nazwa interfejsu) --> <!-- Dodatkowo pobrany będzie tylko serwis, który został udostępniony z właściwością "language=en" --> <component-import key="dynamic" source="plugin" interface="com.suncode.plugin.tutorial.TestService" filter="(language=en)" /> </plugin>
Opis importu i eksportu serwisów znajduje się na stronie: Import i udostępnianie serwisów
1 Comment
Andrzej Rydzewski
Gryzą mi się nazwy w opisie.
Wygląda to mi tak, że czasem używasz nazwy komponent, drugi raz moduł, a innym serwis. A jak rozumie, to wszystko to jedno i to samo.
Czy mylę się?