[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT tomcat en servidor "heardless"



2010/7/7 Trujillo Carmona, Antonio <antonio.trujillo.sspa@juntadeandalucia.es>:
>
> El lun, 05-07-2010 a las 09:13 -0500, Moises Alberto Lindo Gutarra
> escribió:
>> Quita ese parametro. Sólo sirve si el servidor linux
>> no tiene instalado el entorno gráfico y se quiere
>> manipular en tiempo de ejecución imagenes.
>>
>
> Es que el servidor es dedicado, tipo "blade" y no tiene consola, por lo
> que es absurdo instalarle un entorno gráfico que nadie va a poder usar.
>
>> El día 5 de julio de 2010 08:02, Trujillo Carmona, Antonio
>> <antonio.trujillo.sspa@juntadeandalucia.es> escribió:
>> >
>> > Estoy intentando montar un servidor (para paras el tomcat de windows a
>> > linux) me he encontrado con que hay que ponerle un parametro que no era
>> > necesario en windows (-Djava.awt.headless=true), pero así y todo A la
>> > hora de crear una clase que hereda de Applet se lanza la siguiente
>> > excepción: java.awt.HeadlessException
>> >
>>
>>
>> --
>> Atentamente,
>> Moisés Alberto Lindo Gutarra
>> Asesor - Desarrollador Java / Open Source
>> Linux Registered User #431131 - http://counter.li.org/
>> Cel: (511) 995081720
>> MSN: mlindo@tumisolutions.com

Buenos Días:

Aunque esto sale de la línea de discusión de la lista, trataré de
ayudarte un poco. En efecto, la propiedad "-Djava.awt.headless=true"
es necesaria si estas haciendo "render" de imágenes, particularmente
si la aplicación trabaja en un  ambiente que no cuenta con un ambiente
gráfico iniciado. Es importante este ambiente, para que la JVM pueda
realizar y apoyar la generación de imágenes.

En aplicaciones WEB esto es particularmente importante, ya que la
mayoría de los casos, estas no cuentan con una cónsola gráfica para
desplegar las salidas. Y si usan JasperReport o cualquier otra
aplicación de generación de reportes, se debe especificar esta opción,
para que genere los gráficos asociados a los reportes (inclusive si
son sólamente texto).

Ahora bien, la clase Applet genera sus gráficas usando el "sandbox"
que le ofrece el navegador web, o el display según se use. Aunque
desconozco el uso que le das a la clase, si es presentar esta en el
navegador, ella debería ejecutarse en el JVM del navegador, que escapa
de los dominios del servidor.

Si lo usas internamente, dentro del servidor, la clase Applet no hace
caso a la propiedad "headless", ya que su uso esta restringido a la
disponibilidad de un display. En este caso, pudieras hacer uso de un
FrameBuffer, y apuntar tu aplicación hacia él. Estos sitios explican
con un poco mas de detalle este problema, y presentan algunas
soluciones:

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/
http://stackoverflow.com/questions/445049/java-awt-headlessexception-applet-not-displayed
http://stackoverflow.com/questions/508733/java-awt-headlessexception-applet-not-displayed-part-2

Espero te sirva de ayuda.

Saludos,

-- 
German Cardozo Chirinos


Reply to: