weblogic jsessionid
Ich laufen Weblogic 10.3 lokal und habe eine Frage bezüglich der sessionId, die es generiert. Wenn ich die drucken-Sitzung.getId() ich sehe etwas, das ähnelt diesem:
BBp9TAACMTglQ2TDFAKR4tpyXg73LZDQj2ptt9x8htg1twy122aa!869187422!1308677666322
was sind das Ausrufezeichen und das, was folgt, insbesondere das zweite paar: !1308677666322 ? Es sieht aus wie manchmal der server hängt es und manchmal nicht. Ich glaube, weblogic hängt es, wenn ich mit demselben browser anmelden, um meine app zum zweiten mal. Ist dieses cookie irgendwie verwandt?
- Siehe url-encoding-aktiviert für mehr details, warum die session-id könnte sein, kodiert in der url - docs.oracle.com/cd/E13222_01/wls/docs92/webapp/...; Hinweis auch in Bezug auf Ihre Infrastruktur-Konfiguration
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf einige zufällig generierten Weblogic JSessionIDs aus meiner eigenen Anwendung
und
Nun, wenn Sie bemerken, die Teil der session-id nach der ersten ! ich.e
314662473
und784323496
.Diese Zahl ist die unique identifier, dass Weblogic gibt die laufende JVM, D. H. die laufende Weblogic server.
Wenn es mehr als einen server in Ihrer Anwendung, Weblogic weiß, wie man Weg Ihre session wieder auf den richtigen server durch die Nutzung dieser 9-stellige JVM-Nummer, die Teil der session-ID.
Jedes mal, wenn Sie starten Sie den weblogic-server, generiert es eine neue JVM-id und verwenden Sie es so lange, dass weblogic server ausgeführt wird. Also alle Zugriffe auf diesen server haben die gleiche ID am Ende der session-ID.
Den format der session-ID ist:
JSESSIONID=SESSION_ID!PRIMARY_JVMID_HASH!SECONDARY_JVM_HASH!CREATION_TIME
Also, wenn der primäre nicht verfügbar ist, versuchen Sie, direkt über der sekundären und wenn Sie aktiviert session-Replikation - dann die session-Daten wiederhergestellt werden können.
Wenn Sie mit nur einen einzigen server auf dem lokalen, dann wird das format einfach
JSESSIONID=SESSION_ID!PRIMARY_JVMID_HASH!CREATION_TIME
Hinblick auf einige Male, ist es nicht angezeigt, ich habe gesehen, es ist in der Regel ein browser abhängig, ob die sessionid angezeigt wird in der Adressleiste oder nicht
WebLogic Server verwenden diese IDs zu pflegen HTTP-Session-Affinität in der WebLogic-Cluster, In-Memory-Replikation Modell.
Für diese Web-Anwendungen mit dem HTTP-session-Replikation aktiviert (bei weblogic.xml deployment-Deskriptor und standardmäßig deaktiviert) WebLogic halten Sie eine primäre und eine backup-Kopie der HTTP-Sitzung mit dem cluster.
Vermeiden cluster-overhead, der WebLogic-Proxy-Plug-In (Einsatz in Ihrem Web-Tier-Ebene) analysieren der session-cookie und leitet jede Anfrage an die WLS-hosting Ihre primäre Kopie. Im Falle des Scheiterns oder der overhead des managed-server-hosting der PV-Sitzung, die Proxy-Plug-In leitet die Anfrage an die Instanz, wo Sie Ihre HTTP-Sitzung befindet.
Den Proxy-Plugin verfolgen eine dynamische Liste von allen WebLogic-Cluster-Mitglieder als Paare (JVM IDs /IP:ports) zum umleiten jede Anforderung passend.
Wenn Ihre app nicht aktivieren, die in-memory-replication-Funktion Ihre cookie wird nur für die JVM-ID, wo Ihr HTTP Sesion Leben (primäre und eindeutige Kopie).