Les applications qui utilisent MongoDB peuvent s'exécuter sous 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 open source, à hautes performances et évolutive.
Seules les versions du pilote MongoDB Java 2.10.0 à 2.14.2 sont prises en chargee. Pour SSL, le minimum est 2.11.0 et pour l'authentification par certificat, le minimum est 2.12.0.
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'instance 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 dans 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. Cela n'est pas nécessaire en cas d'injection de ressources.
- Configurez un élément mongo qui référence la bibliothèque partagée créée précédemment.
<mongo id="mongo" libraryRef="MongoLib" />
- Configurez l'élément mongoDB.
<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.