Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du använder Azure Redis som HTTP-sessionscache för WebSphere Liberty eller Open Liberty.
I den här guiden gör du följande:
- Skapa en Azure Managed Redis-instans som sessionscache.
- Förbered ett exempelprogram som möjliggör beständighet för HTTP-sessioner.
- Kör exempelprogrammet lokalt.
Den här artikeln är avsedd att hjälpa dig att snabbt komma igång med utrullningen. Innan du går till produktion bör du utforska Tuning Liberty.
Om du är intresserad av att ge feedback eller arbeta nära dina migreringsscenarier med teknikteamet som utvecklar WebSphere på Azure-lösningar kan du fylla i den här korta undersökningen om WebSphere-migrering och inkludera din kontaktinformation. Teamet med programchefer, arkitekter och ingenjörer kommer snabbt att kontakta dig för att initiera ett nära samarbete.
Förutsättningar
- En prenumeration av Azure. Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- Förbered en lokal dator med Unix-liknande operativsystem installerat , till exempel Ubuntu, macOS eller Windows-undersystem för Linux.
- Installera en Java Standard Edition-implementeringsversion (SE) version 17 eller senare , till exempel Microsoft-version av OpenJDK.
- Installera Maven 3.9.8 eller senare.
- Kontrollera att Git är installerat.
Skapa en Azure Managed Redis-instans
Azure Managed Redis tillhandahåller ett minnesinternt datalager baserat på programvaran Redis Enterprise. Använd följande steg för att skapa en Azure Managed Redis-instans och anteckna dess anslutningsinformation. Du använder den här informationen senare för att konfigurera exempelprogrammet.
- Skapa en Azure Managed Redis-instans genom att följa stegen i Snabbstart: Skapa en Azure Managed Redis-instans. Observera noggrant följande skillnader: - I steg 3 i avsnittet Skapa en Redis-instans, där du är på fliken Grundläggande väljer du en Cache SKU- som stöder Azure Managed Redis. I den här guiden väljer du Balanced (För allmänna arbetsbelastningar med typiska prestandakrav). Mer information finns i Välja rätt nivå. 
- I steg 4 i avsnittet Skapa en Redis-instans, där du är på fliken Nätverk, för alternativet Connectivity väljer du offentlig slutpunkt. Det här alternativet är det bästa valet för enkelhetens skull när du använder den här guiden. Vid produktion bör du överväga att använda den privata slutpunkten för bättre säkerhet. 
- I steg 5 i avsnittet Skapa en Redis-instans, där du är på fliken Avancerat, konfigurerar du följande inställningar: - För autentisering, aktivera åtkomstnyckelsautentisering. Det här alternativet är det bästa valet för enkelhetens skull när du använder den här guiden. För optimal säkerhet rekommenderar vi att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot din cache, om möjligt. Auktorisering med hjälp av Microsoft Entra-ID och hanterade identiteter ger överlägsen säkerhet och användarvänlighet för auktorisering av delad åtkomstnyckel. Mer information om hur du använder hanterade identiteter med din cache finns i Använda Microsoft Entra-ID för cacheautentisering. 
- Ange klustringsprincip till Enterprise för en icke-grupperad cache, vilket fungerar för den här guiden där konfiguration av en nod används. Mer information finns i Clustering on Enterprise. 
 
 
- När distributionen är klar väljer du Gå till resurs om du är på sidan Distribution. Annars navigerar du till Azure-portalen, letar upp och väljer din Azure Managed Redis-instans. 
- På sidan Översikt noterar du värdet för Slutpunkt. Du använder det här värdet i miljövariabeln - REDIS_CACHE_ADDRESSsenare.
- Välj Inställningar>Autentisering. Välj Åtkomstnycklar och anteckna värdet Primär. Du använder det här värdet som - REDIS_CACHE_KEYmiljövariabel senare.
- Använd följande kommando för att exportera miljövariablerna - REDIS_CACHE_ADDRESSoch- REDIS_CACHE_KEY:- export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Förbered exempelprogrammet
WebSphere Liberty och Open Liberty tillhandahåller en funktion för sessionscache som gör att du kan lagra HTTP-sessionsdata i en extern cache. I den här guiden använder du funktionen JCache Sessionspersistence för att lagra sessionsdata i Azure Managed Redis-instansen.
Använd följande kommandon för att klona exempelkoden för den här guiden. Exemplet finns i förrådet open-liberty-on-aks på GitHub. Det finns några exempel i lagringsplatsen. Den här artikeln använder 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
Om du ser ett meddelande om att du är i detached HEAD-tillståndet kan du lugnt ignorera detta meddelande. Det betyder bara att du besökte en tag.
Programmet har följande filstruktur:
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
Den pom.xml filen är Maven-projektfilen som innehåller beroenden och plugin-program för exempelprogrammet.
Filen pom-redisson.xml används för att kopiera beroenden för Redisson-klientbiblioteket till katalogen delade resurser på Liberty-servern senare.
Katalogerna java, resurser och webapp innehåller källkoden för exempelprogrammet.
I katalogen liberty/config används server.xml-filen för att konfigurera HTTP-sessionscachen för Open Liberty och WebSphere Liberty.
I katalogen redisson används filen redisson-config.yaml för att konfigurera anslutningen till Azure Managed Redis-instansen.
Katalogen docker innehåller två Dockerfiles. Dockerfile används för att skapa en avbildning med Open Liberty och Dockerfile-wlp används för att skapa en avbildning med WebSphere Liberty.
Kör exempelprogrammet lokalt
Använd följande steg för att skapa och köra exempelprogrammet lokalt. I de här stegen används Maven och liberty-maven-plugin. Mer information om liberty-maven-pluginfinns i Skapa ett webbprogram med Maven.
- Kontrollera att den aktuella arbetskatalogen är java-app-jcache i din lokala klon. 
- Kör Maven-kommandot - mvn clean packageoch paketera programmet.
- Kör - mvn -Predisson validateför att kopiera Redisson-konfigurationsfilen till rätt målplats. Det här steget infogar också värdena för miljövariablerna- REDIS_CACHE_ADDRESSoch- REDIS_CACHE_KEYi filen redisson-config.yaml, som refereras av filen server.xml.
- Kör - mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resourcesför att kopiera Redisson-klientbiblioteket och dess beroenden till katalogen delade resurser på Liberty-servern.
- Kör Maven-kommandot - mvn liberty:devoch starta programmet. Om programmet startas framgångsrikt bör du se- The defaultServer server is ready to run a smarter planet.i kommandoutdata.- Du bör se utdata som liknar följande om Redis-anslutningen lyckas. - [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
Testa programmet
Öppna en webbläsare till http://localhost:9080 så bör du se applikationens startsida.
              
               
              
              
            
I formuläret Ny kaffe anger du värden för fälten Namn och Prisoch väljer sedan Skicka. Programmet skapar en ny kaffesort, sparar den och lagrar HTTP-sessionen även i Azure Managed Redis-instansen.
Efter några sekunder kommer det nya kaffet att visas i tabellen Våra kaffetyper.
 Skärmbild av ett exempelprogram som visar hur ett nytt kaffe har skapats och sparats i applikationens session.
Skärmbild av ett exempelprogram som visar hur ett nytt kaffe har skapats och sparats i applikationens session.
Om du vill visa att sessionsdata kan hämtas från Redis använder du Ctrl+C för att stoppa programmet och starta om det med kommandot mvn liberty:dev.
Uppdatera sedan programmets startsida. Du bör se att samma sessionsdata visas i avsnittet Nytt kaffe. Stoppa programmet när du är klar med testningen.
Containerisera applikationen
Du kan också paketera och köra programmet i en container med hjälp av följande steg. Exempelprogrammet innehåller två Dockerfiles för Open Liberty och WebSphere Liberty. Den här guiden använder Dockerfile för Open Liberty, men du kan använda Dockerfile för WebSphere Liberty genom att följa liknande steg.
- Installera Docker för operativsystemet. För mer information, se Hämta Docker. 
- Använd följande kommando för att skapa Docker-avbildningen: - docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .
- Använd följande kommando för att starta Docker-containern: - 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:v1- När containern har startat kan du testa den med hjälp av steg som liknar de som du använder för att köra programmet lokalt utan Docker. 
Rensa resurser
För att undvika Azure-avgifter bör du rensa onödiga resurser. När Azure Managed Redis-instansen inte längre behövs letar du reda på resursgruppens namn och tar bort den från Azure-portalen.
Mer information finns i Ta bort resursgrupper.
Nästa steg
Du kan lära dig mer från referenser som används i den här guiden:
- Konfigurera Liberty sessionsbeständighet med JCache
- JCache-stöd i Redisson
- Open Liberty Server-konfiguration
Om du vill distribuera exempelprogrammet till Azure refererar du till följande artiklar:
- Distribuera ett Java-program med Open Liberty eller WebSphere Liberty i ett AKS-kluster (Azure Kubernetes Service)
- Distribuera WebSphere Liberty och Open Liberty på Azure Red Hat OpenShift
- Distribuera ett Java-program med Open Liberty i Azure Container Apps
För att utforska alternativ för att köra WebSphere-produkter på Azure, se Vilka är lösningarna för att köra WebSphere-produkter på Azure?