sql >> Base de Datos >  >> NoSQL >> MongoDB

Compatibilidad con Android del controlador mongodb 3.x

Me parece que ManagementFactory es una pista falsa, ya que el controlador detecta esa excepción y recurre a usar un número aleatorio en su lugar.

El verdadero problema parece ser que el controlador necesita autenticarse con SCRAM-SHA-1, cuya implementación importa las siguientes clases:

import javax.crypto.Mac;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import javax.security.sasl.SaslClient;
import javax.security.sasl.SaslException;

Sospecho que no están disponibles en la plataforma Android, que no es una implementación completa de Java Runtime Environment.

Una cosa que podría intentar sería ejecutar MongoDB 2.6, contra el cual la implementación de autenticación del controlador solo se basa en java.security.MessageDigest.

Otra cosa a tener en cuenta es poner un servicio REST entre la aplicación móvil y MongoDB que sea responsable de transmitir todas las interacciones con la base de datos. La aplicación REST se puede ejecutar en un entorno en el que el controlador MongoDB será completamente funcional.