MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Compatibilidade com o driver mongodb 3.x Android


Parece-me que o ManagementFactory é um arenque vermelho, pois o driver pega essa exceção e volta a usar um número aleatório.

O problema real parece ser que o driver precisa se autenticar com SCRAM-SHA-1, cuja implementação importa as seguintes classes:
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;

Suspeito que eles não estejam disponíveis na plataforma Android, que não é uma implementação completa do Java Runtime Environment.

Uma coisa que você poderia tentar seria executar no MongoDB 2.6, no qual a implementação de autenticação do driver depende apenas de java.security.MessageDigest.

Outra coisa a se pensar é colocar um serviço REST entre o aplicativo móvel e o MongoDB que é responsável por fazer proxy de todas as interações com o banco de dados. A aplicação REST pode ser executada em um ambiente onde o driver MongoDB estará totalmente funcional.