Xerces

parchi
31 de Mayo del 2005
Hola, tengo un problema que es el siguiente: he desarrollado una clase Java que contiene un método que usa Xerces a través de JAXP para validar un documento xml contra un esquema xsd. Hay que llamar a este método desde un programa en C++ usando JNI. Hasta aquí, ningún problema, funciona todo bien; el problema viene cuando se intenta llamar al método desde un hilo de dicho programa C++, entonces parece que no encuentra la clase de Xerces que devuelve la instancia de la factoría. Se muestra el siguiente error:

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:99)
at NotificacionEventos.envioValidarYActualizarDocumentoXML(NotificacionEventos.java:231)
at NotificacionEventos.CapturaEnvio(NotificacionEventos.java:103)


Si se ejecuta la llamada desde el método main del programa C++ en vez de hacerlo desde un hilo se ejecuta bien. El propósito de ejecutarlo desde un hilo es porque hay que crear muchos hilos concurrentes que ejecuten ese método para hacer pruebas y ver el tiempo que tardan en procesarse, y debe hacerse desde un programa nativo que invoque a la máquina java. No tengo ni idea cual puede ser el problema, he estado buscando y no encuentro nada que lo solucione; tan solo he encontrado una pregunta sin respuesta en un foro que le ocurre el mismo problema. Si tienen alguna idea de a que puede deberse, les agredecería que me la dijesen porque ya no se que probar.

Un saludo a todos.