Anwendungen, die MongoDB verwenden, können in Liberty ausgeführt werden. Die Anwendungen verwenden für den Zugriff auf eine MongoDB-Instanz den MongoDB-Java™-Treiber und
Datenquellen, die Sie für den Server konfigurieren.
Vorbereitende Schritte
Anmerkung: Liberty stellt
Konfigurationsunterstützung für MongoDB bereit. MongoDB (abgeleitet vom englischen "humongous", gigantisch)
ist eine skalierbare, leistungsfähige Open-Source-NoSQL-Datenbank.
Es werden nur die MongoDB-Java-Treiberversionen 2.10.0 bis 2.12.5 unterstützt.
Informationen zu diesem Vorgang
Damit eine Anwendung MongoDB verwenden kann, konfigurieren Sie
eine gemeinsam genutzte Bibliothek für den MongoDB-Java-Treiber und eine Bibliotheksreferenz
auf die gemeinsam genutzte Bibliothek in der Datei server.xml von Liberty. Eine Anwendung kann direkt über die Anwendung
oder über das Feature mongodb-2.0 und die mongoDB-Instanzkonfigurationen in der
Datei server.xml auf MongoDB zugreifen.
Vorgehensweise
- Installieren Sie den MongoDB-Java-Treiber an einer Position, die für Ihre Anwendung und die Liberty-Laufzeitumgebung
zugänglich ist.
Speichern Sie beispielsweise die
.jar-Datei des MongoDB-Treibers im Verzeichnis
Stammverzeichnis_des_Liberty-Profils/usr/servers/Servername/lib.
- Konfigurieren Sie eine gemeinsam genutzte Bibliothek für die .jar-Datei
des MongoDB-Treibers in der Datei server.xml des Liberty-Servers.
<library id="MongoLib">
<file name="${server.config.dir}/lib/mongo.jar" />
</library>
- Ermöglichen Sie Ihrer Anwendung, entweder direkt oder mit dem Feature mongodb-2.0 auf MongoDB zuzugreifen.
- Ermöglichen Sie den direkten Zugriff auf MongoDB über die Anwendung.
- Konfigurieren Sie eine Bibliotheksreferenz für die gemeinsam genutzte Bibliothek in einem application-Element in der
Datei server.xml.
<application ...>
<classloader commonLibraryRef="MongoLib"/>
</application>
Die Anwendung kann jetzt direkt auf die MongoDB-APIs zugreifen.
Wenn Sie möchten, dass die Anwendung die Injektionsengine der Laufzeitumgebung verwendet, fahren Sie mit den nächsten Schritten fort.
- Konfigurieren Sie die Elemente "feature", "mongo" und "mongoDB" für mongodb-2.0 in der Datei server.xml.
- Fügen Sie das Feature mongodb-2.0 der Datei server.xml hinzu.
<featureManager>
<feature>mongodb-2.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
Das JNDI-Feature ist nur erforderlich, wenn Sie JNDI für die Suche von Ressourcen verwenden.
Es ist nicht erforderlich, wenn Sie mit Ressourceninjektion arbeiten.
- Konfigurieren Sie ein mongo-Element, das einen Verweis auf die gemeinsam genutzte Bibliothek enthält, die Sie in einem der vorherigen Schritte
erstellt haben.
<mongo id="mongo" libraryRef="MongoLib" />
- Konfigurieren Sie das Element "mongoDB".
<mongoDB jndiName="mongo/testdb" mongoRef="mongo" databaseName="db-test" />
Wenn ein JNDI-Name konfiguriert wird, kann eine Anwendung oder die Liberty-Laufzeitumgebung nach der
MongoDB-Instanz suchen.
- Ermöglichen Sie Ihrer Anwendung den Zugriff auf MongoDB.
Das folgende Beispiel veranschaulicht sowohl die
JNDI-Suche als auch die Ressourceninjektion:
public class TestServlet extends HttpServlet {
@Resource(name = "mongo/testdb")
protected DB db;
...
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Alternativ InitialContext-Suche verwenden
DB lookup = (DB) new InitialContext().lookup("java:comp/env/mongo/testdb");
...
- Wenn Sie die JNDI-Suche verwenden, fügen Sie der Datei
web.xml Ihrer Anwendung eine Ressourcenumgebungsreferenz hinzu:
<resource-env-ref>
<resource-env-ref-name>mongo/testdb</resource-env-ref-name>
<resource-env-ref-type>com.mongodb.DB</resource-env-ref-type>
</resource-env-ref>
Nächste Schritte
Testen Sie die Verwendung von MongoDB über Ihre Anwendung.
Weitere Informationen zum MongoDB-Element finden Sie unter MongoDB Integration 2.0.