Przeskocz do opisu głównego

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).

Informacja

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 nakazuje curl zapisać pobrany plik z taką samą nazwą, jaką ma na serwerze (czyli apache-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:

  1. Obsługa kolejek (różne protokoły):
    1. tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600
    2. stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
    3. mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
    4. ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600
  2. Panel administracyjny brokera: http://127.0.0.1:8161/, domyślny dostęp admin/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.

IBM WebSphere Resource adapters

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.

IBM WebSphere Resource adapters - ustawianie danych kroku pierwszego

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.

IBM WebSphere Resource adapters - ustawianie danych kroku drugiego

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.

IBM WebSphere Resource adapters

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:

  1. Wybierz zakładkę Custom properties:

IBM WebSphere Resource adapters - Custom properies

  1. Ustaw wartość parametru: ServerUrl

IBM WebSphere Resource adapters - ustawianie 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.

IBM WebSphere Resource adapters

Pojawia się formularz, na którym definiujemy wartości niezbędnych pól:

  1. Provider - wybieramy nazwę ActiveMQ JMS Resource Adapter wcześniej zdefiniowanego adaptera.
  2. Name - nazwa definiowanego połączenia np. jms_ConnectionFactory
  3. JNDI name - nazwa JNDI połączenia np. jms/ConnectionFactory
  4. Connection factory interface - z listy wybieramy wartość javax.jms.ConnectionFactory
  5. Pozostałe pola są opcjonalne, uzupełniamy jeżeli wymaga tego od nas definicja połączenia.
  6. Wciskamy przycisk OK

IBM WebSphere Resource adapters - tworzenie nowego połączenia

Krok 2: Przegląd definicji połączeń

Po zapisaniu zmian utworzona definicja pojawi się na ma liście zakresu (obszaru) Node1:

IBM WebSphere Resource J2C connection factories

Krok 3: Restart środowiska

Zrestartuj środowisko.