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.14.2 unterstützt. Für SSL ist die Mindestversion 2.11.0 und für die Zertifikatsauthentifizierung ist die Mindestversion 2.12.0.
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. Wenn Sie die Ressourceninjektion verwenden, ist es nicht erforderlich.
- 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.