java printing coldfusion coldfusion-9 printers

java - ¿Cómo recargar impresoras en coldfusion sin reiniciar el servicio?



printing coldfusion-9 (3)

Este es mi entendimiento básico de cómo hacer que una impresora esté disponible para usarla en ColdFusion .

  1. Remoto en el servidor que ejecuta CF usando la cuenta bajo la cual se ejecuta el servicio CF.
  2. Abra el panel de control de Windows y agregue la impresora.
  3. Reinicie el servicio de CF.

Mi pregunta: ¿hay alguna forma de recargar las impresoras sin reiniciar el servicio CF?

Este es el problema que estamos tratando de solucionar. Detalle de error de CF:

Error: Printer //(server)/(printerName) is not available. Available printers are: , şៈ᠘, , , , 凙ᜀᚈ, , 疠쐵䚏, , .

Reiniciar el servicio de CF soluciona esto, pero parece estar ocurriendo muy a menudo últimamente. Me pregunto si hay algún código Java para recargar las impresoras para que pueda hacerse automáticamente. Estamos utilizando CF9.


He trabajado con Java e impresoras y, según lo establecido por daveloyall en los comentarios, el problema podría provenir de Java. Las pruebas han demostrado que cuando inicia una aplicación java, toma una instantánea de la lista de impresoras actual y nunca la actualiza, por lo que la única forma de actualizar la lista de impresoras es reiniciar la aplicación.


Para usar una impresora de red, ColdFusion tendrá que estar ejecutándose bajo una cuenta de dominio que tenga permisos para network resources . El usuario predeterminado con el que se ejecuta el Servicio de Windows ColdFusion es localSystem . Esta cuenta de usuario normalmente tiene muchos permisos para el sistema local pero no tiene permisos en la red. La solución habitual es crear una cuenta de dominio para este propósito y luego configurar el servicio ColdFusion Windows para que se ejecute como ese usuario en el Panel de control de servicios.

Recientemente instalé una impresora en la máquina de mi servidor y la detecté de inmediato sin ningún problema. Estoy usando CF10 en un sistema de Windows 7 de 64 bits. Así que el siguiente código enumera mi impresora sin ningún reinicio del servicio:

<cfdump var="#GetPrinterInfo()#">

Espero que esto ayude.


Sí, un sudo lo resolvería ... O, el administrador del sistema configurará la sincronización en un intervalo más corto (pero eso aumentaría el tiempo de CPU asignado).