| Modyfikacja parametrów pliku BAR |
Bardzo często się zdarza tak, że pewne parametry pliku bar są muszą być modyfikowane.
Dzieje się tak na przykład przy uruchamianiu przepływu na różnych środowiskach.
Kiedy mamy poza środowiskiem produkcyjnym środowisko deweloperskie, testowe to przed wdrożeniem pliku bar
musimy niektóre jego parametry zmienić. Takim parametrem może być np. adres URL nodów HTTP.
Mamy wtedy dwie możliwości. Pierwszą możliwością jest ręczna modyfikacja pliku bar przed jego wdrożeniem.
Może to być jednak bardzo uciążliwe, w szczególności, kiedy tych parametrów będzie większa ilość.
Drugi minus takiego rozwiązania jest fakt, ze zawsze przy ręcznych modyfikacjach jest większe prawdopodobieństwo
popełnienia błędu.
Innym sposobem jest użycie komendy toolkita (od wersji 6.0.2)
mqsiapplybaroverride
.
Komenda przyjmuje następujące parametry:
-b : położenie pliku bar
-p : plik z parametrami do podmienienia
W pliku bar, który jest zwykłych archiwum danych interesuje nas plik
/META-INF/broker.xml
. Plik ten zawiera m. in. parametry pliku bar.
Aby móc modyfikować jakieś parametry pliku bar najlepiej nadać w naszym oryginalnym pliku
wartości parametrów poprzez odpowiedni klucz. Dla przykładu jeśli mamy parametr wskazujący na pole
URL noda HTTPRequest, to jako wartość nie podajemy konkretny adres URL, a np. {MYAPP_URL}.
Kiedy otworzymy teraz plik bar i w nim
/META-INF/broker.xml
to zobaczymy w nim wpis podobny do poniższego:
<ConfigurableProperty override="{MYAPP_URL}" uri="HTTP_ILServices_Client1#HTTP_ILServices.URL"/>
Teraz musimy dla każdego środowiska przygotować odpowiednie pliki properties zawierające docelowe wartości
tego klucza oraz innych.
Taki plik może mieć postać:
{MYAPP_URL}=http://serverdev.com.pl/services/myservice
Zadaniem komendy
mqsiapplybaroverride
jest modyfikacja pliku bar a konkretnie w nim pliku
/META-INF/broker.xml
tak, aby zastąpić wszelkie wystąpienia kluczy na ich wartości z pliku properties.
Wywołanie takiej komendy może mieć postać:
mqsiapplybaroverride -b MK_DEPLOY.bar -p parameters.properties
Powrót
|