Las aplicaciones que utilizan MongoDB pueden ejecutarse en Liberty. Para acceder a una instancia de MongoDB, las aplicaciones utilizan MongoDB Java™ Driver y los orígenes de datos que puede configurar para el servidor.
Antes de empezar
Nota: Liberty proporciona soporte de configuración para MongoDB. MongoDB (de "humongous", enorme en inglés) es una base de datos NoSQL escalable, de código abierto y alto rendimiento.
Solo están soportadas las versiones de 2.10.0 a 2.14.2 del controlador Java MongoDB. Para SSL, el mínimo es 2.11.0 y para la autenticación de certificado el mínimo es 2.12.0.
Acerca de esta tarea
Para que una aplicación pueda utilizar MongoDB, debe configurar una biblioteca compartida para el controlador Java de MongoDB y una referencia de biblioteca a la biblioteca compartida en el archivo
server.xml de Liberty. Una aplicación puede acceder a MongoDB directamente desde la aplicación o
a través de la característica mongodb-2.0 y las configuraciones de instancia de mongoDB en el archivo server.xml.
Procedimiento
- Instale el controlador Java de MongoDB en una ubicación a la que puedan acceder la aplicación y el entorno de ejecución de Liberty.
Por ejemplo, coloque el archivo .jar del controlador de MongoDB en el directorio Liberty_profile_root/usr/servers/server_name/lib.
- Configure una biblioteca compartida para el archivo .jar del controlador de MongoDB en el archivo
server.xml del servidor Liberty.
<library id="MongoLib">
<file name="${server.config.dir}/lib/mongo.jar" />
</library>
- Habilite la aplicación para acceder a MongoDB, ya sea mediante acceso directo desde la aplicación o utilizando la característica mongodb-2.0.
- Habilitar el acceso directo a MongoDB desde la aplicación.
- Configure una referencia de biblioteca para la biblioteca compartida en un elemento de aplicación en el archivo server.xml.
<application ...>
<classloader commonLibraryRef="MongoLib"/>
</application>
La aplicación ahora puede acceder a las API de MongoDB directamente. Si desea que la aplicación utilice el motor de inyección de tiempo de
ejecución, continúe con los pasos siguientes.
- Configure la característica mongodb-2.0, mongo,
y los elementos mongoDB en el archivo server.xml.
- Añada la característica mongodb-2.0 al archivo server.xml.
<featureManager>
<feature>mongodb-2.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
La característica JNDI solo es necesaria
cuando se utiliza JNDI para buscar recursos. Si utiliza la inyección de recursos, no es necesario.
- Configure un elemento mongo que tiene una referencia a la biblioteca compartida creada en un paso anterior.
<mongo id="mongo" libraryRef="MongoLib" />
- Configure el elemento mongoDB.
<mongoDB jndiName="mongo/testdb" mongoRef="mongo" databaseName="db-test" />
La configuración de un nombre JNDI permite a una aplicación o al entorno de ejecución de Liberty buscar la instancia de MongoDB.
- Habilite la aplicación para acceder a MongoDB.
El ejemplo siguiente muestra la búsqueda JNDI y la inyección de recursos:
public class TestServlet extends HttpServlet {
@Resource(name = "mongo/testdb")
protected DB db;
...
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// O bien utilice la búsqueda InitialContext
DB lookup = (DB) new InitialContext().lookup("java:comp/env/mongo/testdb");
...
- Si utiliza la búsqueda JNDI, añada una referencia de entorno de recursos
al archivo web.xml de la aplicación:
<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>
Qué hacer a continuación
Uso de prueba de MongoDB desde la aplicación.
Si
desea más información sobre el elemento MongoDB, consulte Integración de MongoDB 2.0.