Les applications qui utilisent MongoDB peuvent s'exécuter sur Liberty. Pour accéder à une instance MongoDB, les
applications utilisent le pilote Java™ de MongoDB et les sources de données que vous configurez pour le serveur.
Avant de commencer
Remarque : Liberty fournit une prise en charge de la configuration pour MongoDB. MongoDB (de l'éditeur "humongous") est une base de données NoSQL en
open source, hautes performances et évolutive.
Seules les versions de pilote MongoDB Java 2.10.0 à 2.12.5 sont prises en charge.
Pourquoi et quand exécuter cette tâche
Pour permettre à une application d'utiliser MongoDB, vous devez configurer une bibliothèque partagée pour le pilote Java MongoDB et une référence de bibliothèque à la bibliothèque partagée dans le fichier
server.xml de Liberty. Une application peut accéder à MongoDB directement ou via à la fonction
mongodb-2.0 et les configurations d'instances mongoDB dans le fichier
server.xml.
Procédure
- Installez le pilote Java dans un emplacement auquel votre
application et l'environnement d'exécution Liberty peuvent accéder.
Par exemple, placez le fichier .jar du pilote MongoDB sous le répertoire
racine_profil_Liberty/usr/servers/nom_serveur/lib.
- Configurez une bibliothèque partagée pour le fichier .jar du pilote MongoDB dans le fichier
server.xml du serveur Liberty.
<library id="MongoLib">
<file name="${server.config.dir}/lib/mongo.jar" />
</library>
- Autorisez votre application à accéder à MongoDB directement ou
via la fonction mongodb-2.0.
- Activez l'accès direct à MongoDB depuis l'application.
- Configurez une référence de bibliothèque pour la bibliothèque partagée dans un élément d'application du fichier server.xml.
<application ...>
<classloader commonLibraryRef="MongoLib"/>
</application>
Désormais, l'application peut accéder aux API MongoDB directement. Si vous voulez que l'application utilise le moteur d'injection de
l'environnement d'exécution, effectuez les étapes ci-après.
- Configurez la fonction mongodb-2.0
ainsi que les éléments mongo et mongoDB dans le fichier server.xml.
- Ajoutez la fonction mongodb-2.0 au fichier server.xml.
<featureManager>
<feature>mongodb-2.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
La fonction JNDI n'est requise que si vous utilisez jndi afin de consulter des ressources. Il n'est pas nécessaire d'utiliser l'injection de ressource.
- Configurez un élément mongo qui référence la bibliothèque partagée créée précédemment.
<mongo id="mongo" libraryRef="MongoLib" />
- Configure the mongoDB
element.
<mongoDB jndiName="mongo/testdb" mongoRef="mongo" databaseName="db-test" />
La configuration d'un nom JNDI permet à une application ou à l'environnement d'exécution Liberty de rechercher une instance MongoDB.
- Activez votre application en vue de l'accès à MongoDB.
L'exemple suivant illustre une recherche JNDI et une injection de ressource :
public class TestServlet extends HttpServlet {
@Resource(name = "mongo/testdb")
protected DB db;
...
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Alternatively use InitialContext lookup
DB lookup = (DB) new InitialContext().lookup("java:comp/env/mongo/testdb");
...
- Si vous utilisez la recherche JNDI, ajoutez une référence d'environnement de ressource au fichier web.xml de votre application :
<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>
Que faire ensuite
Testez l'utilisation de MongoDB à partir de votre application.
Pour en savoir plus sur l'élément MongoDB,
consultez MongoDB Integration 2.0.