JBoss Enterprise Application Platform 5.0 JBoss Cache Übung

Werbung
JBoss Enterprise Application
Platform 5.0
JBoss Cache Übung
zum Gebrauch mit der JBoss Enterprise Application Platform 5.0
Ausgabe 2.0
Manik Surtani
Galder Zamarreño
JBoss Enterprise Application Platform 5.0 JBoss Cache Übung
zum Gebrauch mit der JBoss Enterprise Application Platform 5.0
Ausgabe 2.0
Manik Surtani
Galder Zamarreño
Rechtlicher Hinweis
Copyright © 2009 Red Hat, Inc.
T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. If you distribute this document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be
removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux ® is the registered trademark of Linus T orvalds in the United States and other countries.
Java ® is a registered trademark of Oracle and/or its affiliates.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or
endorsed by the official Joyent Node.js open source or commercial project.
T he OpenStack ® Word Mark and OpenStack Logo are either registered trademarks/service marks or
trademarks/service marks of the OpenStack Foundation, in the United States and other countries and
are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or
sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Z usammenfassung
Bei diesem Buch handelt es sich um eine Übung zu T reeCache und JBossCache.
Inhaltsverzeichnis
Inhaltsverzeichnis
.Kapitel
. . . . . . . 1.
. . .Einführung
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . .
1.1. Was Sie im Folgenden lernen werden
3
. . . . . . . . 2.
Kapitel
. . .Konfiguration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . .
. . . . . . . . 3.
Kapitel
. . .Skript
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5. . . . . . . . . .
. . . . . . . . 4. .. .Ausführen
Kapitel
. . . . . . . . . . .der
. . . .Übungs-GUI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . .
.Kapitel
. . . . . . . 5.
. . .Übungen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . . . . . . . . .
5.1. Caches und Knoten
7
5.2. Replikation
8
5.3. T ransaktionen
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. . . . . . . . . .
Versionsgeschichte
1
JBoss Enterprise Application Platform 5.0 JBoss Cache Übung
2
Kapitel 1. Einführung
Kapitel 1. Einführung
JBoss Cache ist ein speicherinterner, replizierter, transaktionaler und feingranularer Cache. Diese
Übungen konzentrieren sich auf die Kern-Cache-API. Bitte werfen Sie einen Blick auf die Übungen zum
POJO Cache, wenn Sie stattdessen an der POJO Cache API interessiert sind.
Einzelheiten über Konfiguration, Verwendung und Programmierschnittstellen finden Sie im JBoss Cache
Benutzerhandbuch für JBoss Enterprise Application Platform 5.0, erhältlich unter
http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/.
1.1. Was Sie im Folgenden lernen werden
Erzeugung und Modifizierung eines Caches
Z ustandsreplikation
T ransaktionen
3
JBoss Enterprise Application Platform 5.0 JBoss Cache Übung
Kapitel 2. Konfiguration
Laden Sie zunächst die JBoss Cache 3.x Distribution von der Download-Seite herunter. Sie benötigen
die all-Distribution (jbosscache-core-3.X.Y.GA-all.zip). Entpacken Sie die Datei, wodurch ein
Verzeichnis angelegt wird, das die Distribution enthält, wie z.B. jbosscache-core-3.X.Y. Im weiteren
Verlauf dieser Übung wird dieses Verzeichnis als ${JBOSSCACHE_HOME} bezeichnet.
Die Konfigurationsdateien befinden sich im ${JBOSSCACHE_HOME}/etc-Verzeichnis. Sie können das
Verhalten des Caches durch Bearbeiten der verschiedenen Konfigurationsdateien verändern.
log4 j.xm l: Protokollierungsausgabe. Sie können die Protokollierung aktivieren,
Protokollierungsebenen festlegen, oder den Namen oder Pfad der Protokollierungsdatei ändern.
config-sam ples/total-replication.xm l: Die für diese Übung verwendete CacheKonfigurationsdatei.
4
Kapitel 3. Skript
Kapitel 3. Skript
Das einzige für diese Übung erforderliche Skript ist das
${JBOSSCACHE_HOME}/tutorial/build.xm l-Ant-Skript. Außerdem muss Apache Ant installiert
sein, um das Übungs-GUI ausführen zu können.
5
JBoss Enterprise Application Platform 5.0 JBoss Cache Übung
Kapitel 4. Ausführen der Übungs-GUI
Führen Sie das GUI folgendermaßen aus:
Wechseln Sie in das ${JBOSSCACHE_HOME}/tutorial-Verzeichnis (z.B. cd
${JBOSSCACHE_HOME}/tutorial)
Führen Sie das Ant-Skript aus (z.B. ant run)
Dadurch erscheint ein GUI-Fenster, das Ihnen im oberen T eil eine Baumansicht des Caches und im
unteren T eil eine BeanShell-Ansicht der JVM zeigt.
Die BeanShell-Ansicht ist mit folgenden Variablen voreingestellt:
cache: eine Referenz auf die org.jboss.cache.Cache-Schnittstelle, die von der GUI-Instanz
verwendet wird.
root: eine Referenz auf die Wurzel-org.jboss.cache.Node-Instanz für den obigen Cache.
transactionManager: eine Referenz auf die registrierte
javax.transaction.T ransactionManager-Instanz.
Die Referenzen, die dem BeanShell-Fenster zur Verfügung stehen, verweisen auf dieselbe CacheInstanz, die auch von der Baumansicht im GUI verwendet werden.
Um das GUI als replizierte Übung auszuführen, ist es hilfreich, ein neues Befehlszeilenfenster zu öffnen
und dort das Ant-Skript erneut wie oben auszuführen. Dadurch erhalten Sie zwei Cache-Instanzen, die
in zwei separaten GUIs laufen und ihre Z ustände untereinander replizieren.
6
Kapitel 5. Übungen
Kapitel 5. Übungen
Wichtig
Wir empfehlen Ihnen, für jede der folgenden Übungen zunächst das GUI zu beenden und neu zu
starten, um jedesmal mit leeren Caches zu beginnen.
5.1. Caches und Knoten
Starten Sie für diese Übung eine einzelne Instanz des GUIs. In dieser Übung werden wir:
Knoten unter dem Wurzelknoten erzeugen.
Knoten unter dem Wurzelknoten entfernen, sowohl einzeln als auch rekursiv.
Daten zu Knoten hinzufügen und aus ihnen entfernen.
1. Richten Sie die erforderlichen Fqns ein. Erzeugen Sie im BeanShell-Fenster drei Fqn-Variablen:
childFqn1 = Fqn.fromString("/child1");
childFqn2 = Fqn.fromString("/child2");
childFqn3 = Fqn.fromString("/child2/child3");
2. Erzeugen Sie untergeordnete Knoten unter dem Wurzelknoten.
child1 = root.addChild(childFqn1);
child2 = root.addChild(childFqn2);
child3 = root.addChild(childFqn3);
3. Fragen Sie die Knoten ab.
root.hasChild(childFqn1); // should return true
child2.hasChild(childFqn3.getLastElement()); // should return true
child3.getParent(); // should return child2
child2.getParent(); // should return root
4. Speichern Sie einige Daten in den Knoten. Durch Klick auf die Knoten in der Baumansicht sollten Sie
die Inhalte des jeweiligen Knotens sehen.
child1.put("key1",
child1.put("key2",
child2.put("key3",
child2.put("key4",
child3.put("key5",
child3.put("key6",
"value1");
"value2");
"value3");
"value4");
"value5");
"value6");
5. Rufen Sie einige Daten ab.
child1.getKeys();
child2.getData();
6. Löschen Sie einige Daten in den Knoten.
7
JBoss Enterprise Application Platform 5.0 JBoss Cache Übung
child1.remove("key1");
child2.remove("key3");
child3.clearData();
7. Löschen Sie Knoten.
root.removeChild(childFqn1); // will also remove any data held under child1
root.removeChild(childFqn2); // will recursively remove child3 as well
5.2. Replikation
Starten Sie für diese Übung zwei Instanzen des GUIs. Wiederholen Sie die Aufgaben der vorherigen
Übung, wechseln dabei aber beim Erzeugen/Löschen von Knoten und Hinzufügen/Löschen von Daten
zwischen den zwei GUI-Fenstern hin- und her. Dies veranschaulicht, wie die zwei Cache-Instanzen in
den beiden GUIs synchron gehalten werden.
5.3. Transaktionen
Starten Sie für diese Übung zwei Instanzen des GUIs. Wiederholen Sie die Aufgaben der vorherigen
Übung, starten jedoch vor dem Erzeugen/Löschen von Knoten und Hinzufügen/Löschen von Daten
einige T ransaktionen. Dies veranschaulicht, dass nur an den T ransaktionsgrenzen Replikation
stattfindet. Versuchen Sie auch, einige T ransaktionen zurückzusetzen, um zu sehen, dass in diesen
Fällen nichts repliziert wird. Nachfolgend finden Sie den Beispielcode zur Verwaltung von T ransaktionen:
tm = cache.getTransactionManager();
tm.begin();
// do operations here
tm.commit(); // or tm.rollback();
8
Versionsgeschichte
Versionsgeschichte
Version 2.0-4 .4 02
Rebuild with Publican 4.0.0
Fri Oct 25 2013
Rüdiger Landmann
Version 2.0-4 .1
2013-06-11
Rebuild for updated legal template
Misty Stanley-Jones
Version 2.0-4
Rebuild for Publican 3.0
2012-07-18
Anthony T owns
Version 1.0-0
Erster Entwurf.
T hu Oct 22 2009
Laura Bailey
9
Herunterladen