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 2.10.0 a 2.12.5 del controlador Java de MongoDB.
Acerca de esta tarea
Para que una aplicación pueda utilizar MongoDB, debe configurar una biblioteca compartida para MongoDB Java Driver y una referencia de biblioteca a la biblioteca compartida en el archivo server.xml. 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 MongoDB Java Driver en una ubicación a la que puedan acceder la aplicación y el tiempo de ejecución de Liberty.
Por ejemplo, coloque el archivo .jar del controlador de MongoDB en el directorio raíz_perfil_Liberty/usr/servers/nombre_servidor/lib.
- Configure una biblioteca compartida para el archivo .jar del controlador de MongoDB en el archivo server.xml del servidor de 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. No es necesaria si se utiliza inyección de recursos.
- 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 tiempo 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 MongoDB Integration 2.0.