Error jcifs (The pr...
 
Avisos
Vaciar todo

Error jcifs (The process cannot access the file because it is being used by another process) en nueva versión de Mirth 3.9.1  


(@mrodpou)
Nuevo Miembro
Registrado: hace 4 meses
Mensajes: 2
Topic starter  

Hola,

trabajamos con muchos canales que utilizan SMB y hemos migrado a la versión 3.9.1 en esta versión han cambiando la librería JCIFS por lo que tuvimos que modificar también el código fuente, pero las integraciones nos estan dando el error siguiente: Wrapped jcifs.smb.SmbException: The process cannot access the file because it is being used by another process.

No se si alguien tiene un problema similar y pudo resolverlo, si necesitáis mas información os la proporciono sin ningún problema.

Gracias y espero su ayuda.


Cita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 61
 

Hola @mrodpou.

 

¿Cómo usas el protocolo SMB, a través de conectores de entrada tipo File Reader, conectores de salida File Writer, o conectores de tipo JavScript?.

¿Incluyes el dominio del equipo en el nombre de usuario?.

¿Qué versión anterior de Mirth usabas?.

¿Si intentas acceder actualmente desde otro Mirth con la versión anterior, sigues pudiendo acceder a las carpetas?.

 

El error indica de forma explícita que el fichero no puede ser abierto porque está siendo usado por otro proceso, lo cual doy por hecho de que no es el caso y de ahí la pregunta en el foro. Pero, ¿has comprobado que realmente sea así, que no esté abierto el fichero en cuestión por ninguna otra aplicación?.

 


ResponderCita
(@mrodpou)
Nuevo Miembro
Registrado: hace 4 meses
Mensajes: 2
Topic starter  

Buenos días, 

1. Los conectores son tipo JavaScript.

2. Si, incluyo el dominio en el nombre de usuario.

3. La versión anterior que utilizaba es la 3.5.0 y funcionaba perfectamente.

Es que realmente es como si el fichero lo abriese el propio Mirth y no llega a cerrarlo.

Te paso un trozo de código para que veas lo que hago.

*******************************************************

baseCtx = new Packages.jcifs.context.BaseContext(new Packages.jcifs.config.PropertyConfiguration(java.lang.System.getProperties()));
auth = baseCtx.withCredentials(new Packages.jcifs.smb.NtlmPasswordAuthenticator("DOMINIO",vg_UserFich,vg_PassFich));
pathOrigen = vg_RutaFichSmb + nombreFichOrigen;
pathDestino = vg_RutaFichTmp + nombreFichOrigen;
sFileOrigen = new Packages.jcifs.smb.SmbFile(pathOrigen, auth);
sFileDestino = new Packages.jcifs.smb.SmbFile(pathDestino, auth);
var copia = sFileOrigen.copyTo(sFileDestino);
var src = vg_RutaTmp + nombreFichOrigen;
var profesionalCnp =extractProfesional(src);
var borrar = sFileDestino.delete();
baseCtx.close();

******************************************************

Gracias.

 

 

 


ResponderCita
Compartir:
caduceusadminForum