Windows permite asignar unidades de servidores de red a letras de unidad locales para que los usuarios puedan acceder a ellas como si se tratara de una unidad local. Se trata de una función muy potente de Windows, de la que se aprovechan muchas aplicaciones.
El problema, sin embargo, es que Windows no es muy consistente acerca de cómo maneja dichas unidades asignadas cuando se accede desde un servicio de Windows. Cuando el servicio se inicia manualmente, las unidades estarán disponibles, pero cuando se reinicie el sistema, el servicio ya no podrá acceder a ellas.
El Java Service Wrapper proporciona una forma sencilla de indicarle al servicio que asigne unidades de red cuando no estén disponibles. De este modo, se puede acceder a ellas de forma fiable en cualquier momento.
Solución |
La solución es permitir que el servicio asigne sus propias unidades. El Java Service Wrapper proporciona un conjunto flexible de propiedades que hacen posible asignar unidades de red e impresoras al inicio. De este modo, las aplicaciones Java podrán hacer uso de estos recursos compartidos de forma fiable, independientemente del momento en que se inicie el servicio. En Windows, los recursos compartidos de red se pueden asignar a letras de unidad para que se pueda acceder a ellos como si fueran unidades locales. Muchas aplicaciones hacen uso de esta capacidad para acceder sin problemas a los archivos que se comparten en la red. Sin embargo, cuando una aplicación de este tipo se convierte en un servicio, el acceso a las unidades asignadas dejará de ser fiable porque la asignación sólo se realiza potencialmente en la sesión del usuario. Están disponibles en algunos casos pero no en otros, dependiendo de cuándo se inicia el servicio y quién estaba conectado/a a la máquina en ese momento. |
Descripción Técnica |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Es posible configurar un Servicio de Windows para que se ejecute como una cuenta específica. Sin embargo, las unidades asignadas que se configuren en esa cuenta no estarán disponibles cuando el sistema se inicie por primera vez y, por lo tanto, no estarán disponibles para el servicio. Si un usuario se conecta con la misma cuenta, las unidades se configurarán, pero aún no estarán disponibles para el servicio a menos que se reinicie por completo. Tradicionalmente, esto significaba que era necesario tener acceso a archivos en la red usando UNC (Convención de nomenclatura uniforme):
Esta sintaxis UNC funciona con algunas aplicaciones, pero no es tan conveniente ni portátil como una unidad asignada:
Muchas aplicaciones que originalmente no fueron diseñadas para ejecutarse como un servicio de Windows, o que acceden a unidades de red, fallarán cuando encuentren una ruta UNC en un archivo de configuración. El Java Service Wrapper facilita el acceso de los servicios a los recursos compartidos. Con solo un conjunto de propiedades "share" (de recursos compartidos), puede configurar fácilmente asignaciones a ubicaciones o impresoras remotas y ponerlas a disposición de la cuenta en ejecución antes de que se inicie la aplicación Java.
|
Referencia: Propiedades wrapper.share.<n>.* |
Estas propiedades se utilizan para configurar la asignación de recursos de red a unidades locales.
|