Konfiguracja Apache ActiveMQ
Funkcjonalność asynchronicznej synchronizacji danych użytkowników w BPM SecurityProvider (Ganimedes) wymaga zainstalowania i skonfigurowania serwera Apache ActiveMQ. Serwer ten jest wykorzystywany do realizacji asynchronicznej synchronizacji danych użytkowników. W tym dokumencie znajdziesz instrukcje dotyczące pobierania, instalacji i konfiguracji Apache ActiveMQ oraz jego adaptera zasobów (Resource Adapter) dla IBM WebSphere. Funkcjonalność ta jest opcjonalna i nie jest wymagana do poprawnego działania BPM SecurityProvider (Ganimedes). W przypadku, gdy nie jest potrzebna, można pominąć ten dokument (zobacz parametr konfiguracyjny enableMQConsumer
w opisie pliku ldap-options.xml
).
Funkcjonalność ta jest dostępna od wersji 8.6.3.21030.3.0.0.x
.
Apache ActiveMQ
Obecnie w BPM SecurityProvider (Ganimedes) wykorzystywana jest następująca wersja Apache ActiveMQ: 5.16.2
. W lokalizacji download znajdziesz dostępne wersje produktu.
Pobieranie Apache ActiveMQ
Komenda pobrania pakietu instalacyjnego pod Linux:
wget -b -t0 --no-check-certificate https://archive.apache.org/dist/activemq/5.16.2/apache-activemq-5.16.2-bin.tar.gz
Komenda pobrania pakietu instalacyjnego pod Windows (użyj polecenia curl
, które jest wbudowane w Windows 10/11):
curl -O https://archive.apache.org/dist/activemq/5.16.2/apache-activemq-5.16.2-bin.zip
Wyjaśnienie:
curl
- polecenie do transferu danych.-O
(duże "o") - opcja, która nakazujecurl
zapisać pobrany plik z taką samą nazwą, jaką ma na serwerze (czyliapache-activemq-5.16.2-bin.zip
).
Instalacja Apache ActiveMQ
Zainstaluj zgodnie z instrukcją:
Krok 1: Pobranie i rozpakowanie
Pobrany plik (np. apache-activemq-5.16.2-bin.tar.gz
) zawiera katalog z gotowym do uruchomienia produktem. Rozpakuj do katalogu docelowego np. o nazwie /opt/IBM/BAW
:
mkdir -p /opt/IBM/BAW
cd /opt/IBM/BAW
tar -xzvf ~/apache-activemq-5.16.2-bin.tar.gz
cd apache-activemq-5.16.2/
export ACTIVEMQ_HOME=`pwd`
echo ${ACTIVEMQ_HOME}
Krok 2: Lokalizacja instalacji
Produkt Apache ActiveMQ, poprzez rozpakowanie pliku apache-activemq-5.16.2-bin.tar.gz
, zainstalowaliśmy w katalogu ${ACTIVEMQ_HOME}
(np. `/opt/IBM/BAW/apache-activemq-5.16.2).
Krok 3: Uruchomienie
Uruchomienie produktu nie wymaga dodatkowej konfiguracji. Konfiguracja znajduje się w pliku $ACTIVEMQ_HOME/conf/activemq.xml
i zmiana jego zawartości jest opcjonalna. Produkt uruchamiamy poleceniem:
export JAVA_HOME=/opt/IBM/BPM/v8.5.7/java
$ACTIVEMQ_HOME/bin/activemq start
Krok 4: Sprawdzenie działania
Logi zdarzeń uruchomionego produktu można podejrzeć poleceniem:
tail -f $ACTIVEMQ_HOME/data/activemq.log
Krok 5: Zatrzymanie
Produkt zatrzymujemy poleceniem:
export JAVA_HOME=/opt/IBM/BPM/v8.5.7/java
$ACTIVEMQ_HOME/bin/activemq stop
Krok 6: Dostęp do zainstalowanych usług Active MQ
W domyślnej konfiguracji dostępne są następujące usługi:
- Obsługa kolejek (różne protokoły):
tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600
stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600
- Panel administracyjny brokera:
http://127.0.0.1:8161/
, domyślny dostępadmin/admin
.
Zmiana domyślnych ustawień
1. Zmiana dostępu do panelu administracyjnego
Zmiana dostępu do panelu administracyjnego: zmień plik $ACTIVEMQ_HOME/conf/jetty.xml
:
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
2. Zmiana domyślnych haseł użytkowników
Zmiana domyślnych haseł użytkowników admin
i user
: zmień plik $ACTIVEMQ_HOME/conf/jetty-realm.properties
:
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: change_me01, admin
user: change_me01, user
Apache ActiveMQ Resource Adapter
Pakiet źródła danych potrzebny do instalacji klienta na serwerze aplikacji IBM WebSphere. Więcej na ten temat można przeczytać pod adresem ActiveMQ Resource Adapter.
Pobieranie Resource Adapter
Katalog z relase'ami produktu znajduje się na stronie repozytorium Maven. Obecnie używana jest wersja 5.16.2
zatem komenda pobrania:
wget -b -t0 --no-check-certificate https://repo1.maven.org/maven2/org/apache/activemq/activemq-rar/5.16.2/activemq-rar-5.16.2.rar
Instalacja Resource Adapter
Kroki instalacji:
Krok 1: Logowanie do konsoli IBM WebSphere
Logujemy się do konsoli IBM WebSphere dostępnej pod adresem https://<nazwa_serwera_dmgr>:<port>/ibm/console
np. https://localhost:9043/ibm/console
.
Krok 2: Konfiguracja adaptera zasobów
Przechodzimy: Resources > Resource adapters > Resource adapters i wciskamy przycisk Install RAR znajdujący się w nagłówku tabeli prezentującej zdefiniowane już adaptery.
Postępujemy zgodnie ze zdefiniowanymi krokami kreatora. W pierwszej kolejności wybieramy/ustawiamy wartość pola Scope (zakresu) na Node1
. Kolejno wskazujemy na pobrany przez nas plik z definicją adaptera activemq-rar-x.x.x.rar
. Wciskamy przycisk Next.
Krok 3: Uzupełnienie danych adaptera
W kolejnym kroku pojawia się formularz z uzupełnionymi wartościami domyślnymi. Zostawiamy tak jak jest, Wciskamy przycisk OK.
Krok 4: Zmiana adresu serwera ActiveMQ
Ponownie przechodzimy do: Resources > Resource adapters > Resource adapters, wybieramy zakres Node1
, na liście zdefiniowanych adapterów pojawi się zdefiniowany przez nas ActiveMQ JMS Resource Adapter
.
Domyślnie, adapter ma zdefiniowane połączenie z serwerem Apache ActiveMQ pod adresem: tcp://localhost:61616
. Aby to zmienić musimy ustawić parametr ServerUrl
pośród Custom properties
. Poniższe ilustracje prezentują poszczególne kroki ustawiania odpowiedniej wartości:
- Wybierz zakładkę
Custom properties
:
- Ustaw wartość parametru:
ServerUrl
Konfiguracja J2C connection factories
Aby móc korzystać z połączenia zdefiniowanego adaptera trzeba zdefiniować J2C connection factories
. Poszczególne kroki konfiguracji:
Krok 1: Konfiguracja definicji połączeń
Przechodzimy: Resources > Resource adapters > J2C connection factories. Musimy wybrać zakres (scope, obszar), w którym zdefiniujemy połączenie. W naszym przypadku będzie to Node1
. Wciskamy przycisk New... znajdujący się w nagłówku tabeli prezentującej zdefiniowane już połączenia.
Pojawia się formularz, na którym definiujemy wartości niezbędnych pól:
- Provider - wybieramy nazwę
ActiveMQ JMS Resource Adapter
wcześniej zdefiniowanego adaptera. - Name - nazwa definiowanego połączenia np.
jms_ConnectionFactory
- JNDI name - nazwa JNDI połączenia np.
jms/ConnectionFactory
- Connection factory interface - z listy wybieramy wartość
javax.jms.ConnectionFactory
- Pozostałe pola są opcjonalne, uzupełniamy jeżeli wymaga tego od nas definicja połączenia.
- Wciskamy przycisk OK
Krok 2: Przegląd definicji połączeń
Po zapisaniu zmian utworzona definicja pojawi się na ma liście zakresu (obszaru) Node1
:
Krok 3: Restart środowiska
Zrestartuj środowisko.