Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet article explique comment utiliser Azure Redis comme cache de session HTTP pour WebSphere Liberty ou Open Liberty.
Dans ce guide, vous allez :
- Créez une instance Redis managée Azure en tant que cache de session.
- Préparez un exemple d’application qui active la persistance des sessions HTTP.
- Exécutez l’exemple d’application localement.
Cet article vous aide à accéder rapidement au déploiement. Avant de passer en production, vous devez explorer Tuning Liberty.
Si vous souhaitez fournir des commentaires ou travailler étroitement sur vos scénarios de migration avec l’équipe d’ingénierie qui développe WebSphere sur des solutions Azure, répondez à cette courte enquête sur la migration WebSphere et incluez vos coordonnées. L’équipe de gestionnaires de programmes, d’architectes et d’ingénieurs vous contactera rapidement pour établir une collaboration.
Prérequis
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Préparez une machine locale avec un système d’exploitation de type UNIX installé (par exemple Ubuntu, macOS ou Sous-système Windows pour Linux).
- Installez une implémentation Java Standard Edition (SE) version 17 ou ultérieure, par exemple la build Microsoft d’OpenJDK.
- Installez Maven 3.9.8 ou ultérieur.
- Vérifiez que Git est installé.
Créer une instance Azure Managed Redis
Azure Managed Redis fournit un magasin de données en mémoire basé sur le logiciel Redis Enterprise . Utilisez les étapes suivantes pour créer une instance Redis managée Azure, puis notez ses informations de connexion. Vous utilisez ces informations ultérieurement pour configurer l’exemple d’application.
Créez une instance Redis managée Azure en suivant les étapes décrites dans le guide de démarrage rapide : Créer une instance Redis managée Azure. Observez attentivement les différences suivantes :
À l’étape 3 de la section Créer une instance Redis, dans laquelle vous êtes sous l’onglet Informations de base , sélectionnez une référence SKU cache qui prend en charge Azure Managed Redis. Pour ce guide, sélectionnez Équilibré (pour les charges de travail à usage général avec des exigences de performances standard). Pour plus d’informations, consultez Choisir le niveau approprié.
À l’étape 4 de la section Créer une instance Redis, dans laquelle vous êtes sous l’onglet Mise en réseau , pour l’option Connectivité , sélectionnez Point de terminaison public. Cette option est le meilleur choix pour la simplicité lors de l’utilisation de ce guide. Pour la production, vous devez envisager d’utiliser un point de terminaison privé pour une meilleure sécurité.
À l’étape 5 de la section Créer une instance Redis, sous l’onglet Avancé , configurez les paramètres suivants :
Pour l’authentification, activez l’authentification par clés d’accès. Cette option est le meilleur choix pour la simplicité lors de l’utilisation de ce guide. Pour une sécurité optimale, nous vous recommandons d’utiliser Microsoft Entra ID avec des identités managées pour autoriser les demandes sur votre cache, si possible. L’autorisation à l’aide de l’ID Microsoft Entra et des identités managées offre une sécurité et une facilité d’utilisation supérieures par rapport à l’autorisation de clé d’accès partagé. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser l’ID Microsoft Entra pour l’authentification du cache.
Définissez la stratégie de clustering sur Enterprise pour un cache non cluster, qui fonctionne pour ce guide où la configuration à nœud unique est utilisée. Pour plus d’informations, consultez Clustering on Enterprise.
Une fois le déploiement terminé, sélectionnez Accéder à la ressource si vous êtes dans la page Déploiement . Sinon, accédez au portail Azure, recherchez et sélectionnez votre instance Azure Managed Redis.
Dans la page Vue d’ensemble , notez la valeur du point de terminaison . Vous utilisez cette valeur dans la variable d’environnement
REDIS_CACHE_ADDRESSultérieurement.Sélectionnez Paramètres>Authentification. Sélectionnez clés d’accès et notez la valeur principale . Vous utilisez cette valeur comme variable d’environnement
REDIS_CACHE_KEYultérieurement.Utilisez la commande suivante pour exporter les variables
REDIS_CACHE_ADDRESSd’environnement etREDIS_CACHE_KEY:export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Préparez l’application d’exemple
WebSphere Liberty et Open Liberty fournissent une fonctionnalité de cache de session qui vous permet de stocker des données de session HTTP dans un cache externe. Dans ce guide, vous utilisez la fonctionnalité persistance de session JCache pour stocker les données de session dans l’instance Redis managée Azure.
Utilisez les commandes suivantes pour cloner le code exemple pour ce guide. L’exemple se trouve dans le référentiel open-liberty-on-aks sur GitHub. Il existe quelques exemples dans le référentiel. Cet article utilise java-app-jcache.
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
git checkout 20250228
cd java-app-jcache
Si vous voyez un message concernant l’état detached HEAD, vous pouvez ignorer ce message en toute sécurité. Cela signifie simplement que vous avez modifié une étiquette.
L’application a la structure de fichiers suivante :
java-app-jcache/
├── pom.xml
├── pom-redisson.xml
└── src
└── main
├── docker
│ ├── Dockerfile
│ └── Dockerfile-wlp
├── java
├── liberty
│ └── config
│ └── server.xml
├── redisson
│ └── redisson-config.yaml
├── resources
└── webapp
Le fichier pom.xml est le fichier projet Maven qui contient les dépendances et les plug-ins de l’exemple d’application.
Le fichier pom-redisson.xml est utilisé pour copier les dépendances de la bibliothèque cliente Redisson vers le répertoire des ressources partagées du serveur Liberty ultérieurement.
Les répertoires java, resources, et webapp contiennent le code source de l’application d’exemple.
Dans le répertoire liberty/config , le fichier server.xml est utilisé pour configurer le cache de session HTTP pour Open Liberty et WebSphere Liberty.
Dans le répertoire redisson, le fichier redisson-config.yaml est utilisé pour configurer la connexion à l’instance Redis managée Azure.
Le répertoire Docker contient deux fichiers Dockerfile. Dockerfile est utilisé pour générer une image avec Open Liberty et Dockerfile-wlp est utilisé pour générer une image avec WebSphere Liberty.
Exécuter l’exemple d’application localement
Utilisez les étapes suivantes pour générer et exécuter votre exemple d’application localement. Ces étapes utilisent Maven et le liberty-maven-plugin. Pour plus d’informations sur le liberty-maven-plugin, consultez Création d’une application web avec Maven.
Vérifiez que le répertoire de travail actuel est java-app-jcache dans votre clone local.
Exécutez la commande
mvn clean packageMaven et empaquetez l’application.Exécutez
mvn -Predisson validatepour copier le fichier de configuration Redisson vers l’emplacement cible approprié. Cette étape insère également les valeurs des variablesREDIS_CACHE_ADDRESSd’environnement etREDIS_CACHE_KEYdans le fichier redisson-config.yaml , qui est référencé par le fichier server.xml .Exécutez
mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resourcespour copier la bibliothèque cliente Redisson et ses dépendances dans le répertoire des ressources partagées du serveur Liberty.Exécutez la commande
mvn liberty:devMaven et démarrez l’application. Si l’application a démarré correctement, vous devez voirThe defaultServer server is ready to run a smarter planet.dans la sortie de la commande.Vous devriez voir une sortie similaire à la suivante si la connexion Redis est réussie.
[INFO] [err] [Default Executor-thread-3] INFO org.redisson.Version - Redisson 3.23.4 [INFO] [err] [redisson-netty-2-7] INFO org.redisson.connection.pool.MasterPubSubConnectionPool - 1 connections initialized for redacted.<region>.redis.azure.net/<ip_address>:10000 [INFO] [err] [redisson-netty-2-20] INFO org.redisson.connection.pool.MasterConnectionPool - 24 connections initialized for redacted.<region>.redis.azure.net/<ip_address>:10000
Test de l’application
Ouvrez un navigateur web sur http://localhost:9080 et vous devriez voir la page d'accueil de l'application.
Dans le formulaire Nouveau café , définissez les valeurs des champs Nom et Prix, puis sélectionnez Envoyer. L’application crée un café, le conserve et stocke également la session HTTP dans l’instance Redis managée Azure.
Après quelques secondes, vous voyez le nouveau café affiché dans la table Nos cafés.
Capture d’écran de l’application d’exemple montrant le nouveau café créé et persistant dans la session de l’application.
Pour montrer que les données de session peuvent être récupérées à partir de Redis, utilisez Ctrl+C pour arrêter l’application et la redémarrer avec la mvn liberty:dev commande.
Ensuite, actualisez la page d’accueil de l’application. Vous devez voir les mêmes données de session affichées dans la section Nouveau café. Arrêtez l’application lorsque vous avez terminé de tester.
Conteneuriser l’application
Si vous le souhaitez, vous pouvez empaqueter et exécuter l’application dans un conteneur en procédant comme suit. L’exemple d’application fournit deux fichiers Dockerfile pour Open Liberty et WebSphere Liberty. Ce guide utilise le fichier Dockerfile pour Open Liberty, mais vous pouvez utiliser le fichier Dockerfile pour WebSphere Liberty en suivant des étapes similaires.
Installez Docker pour votre système d’exploitation. Pour plus d’informations, consultez Obtenir Docker.
Utilisez la commande suivante pour générer l’image Docker :
docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .Utilisez la commande suivante pour démarrer le conteneur Docker :
docker run -it --rm \ -p 9080:9080 \ -e REDIS_CACHE_ADDRESS=${REDIS_CACHE_ADDRESS} \ -e REDIS_CACHE_KEY=${REDIS_CACHE_KEY} \ --mount type=bind,source=$(pwd)/target/liberty/wlp/usr/servers/defaultServer/redisson-config.yaml,target=/config/redisson-config.yaml \ javaee-cafe-jcache:v1Une fois le conteneur démarré, vous pouvez le tester à l’aide des étapes similaires à celles que vous utilisez pour exécuter l’application localement sans Docker.
Nettoyer les ressources
Pour éviter des frais Azure, vous devez nettoyer les ressources non nécessaires. Lorsque l’instance Redis managée Azure n’est plus nécessaire, recherchez son nom de groupe de ressources et supprimez-la du portail Azure.
Pour plus d’informations, consultez Supprimer des groupes de ressources.
Étapes suivantes
Vous pouvez en savoir plus sur les références utilisées dans ce guide :
- Configurer la persistance de session Liberty avec JCache
- Support JCache de Redisson
- Configuration du serveur Open Liberty
Si vous souhaitez déployer l’exemple d’application sur Azure, référencez les articles suivants :
- Déployer une application Java avec Open Liberty ou WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS)
- Déployer WebSphere Liberty et Open Liberty sur Azure Red Hat OpenShift
- Déployer une application Java avec Open Liberty sur Azure Container Apps
Pour explorer les options d’exécution des produits WebSphere sur Azure, veuillez consulter la section Quelles sont les solutions pour exécuter la famille de produits WebSphere sur Azure ?