不知什么原因,涉及图形显示的Java后台程序在UNIX下总是有问题。
最近一个项目使用了IBM的Alphablox,是一套基于java的快速开发Web的平台,我们暂时将其部署在solaris9服务器+tomcat上。由于Alphablox需要图形系统的支持(不知道为什么),以往启动alphablox只能采用以下方式:
1、在服务器的图形终端上启动alphablox(tomcat)
在一切正常的情况下,这种启动方式没什么问题,但是在开发阶段经常需要重启web服务器,这样一来,每次重启都得跑到服务器的图形终端旁,而往往服务器都放在专门的机房里,很不方便。
2、利用Xmanager等Xserver远程登录到服务器,然后启动alphablox
乍看之下这种方式好像没什么问题,但是一旦这个窗口关掉,后台的服务程序就会异常中止。这样一来,这个Xmanager的终端就得一直开着。
3、用字符终端telnet至主机,启动alphablox
虽然报错,但是程序倒是能起来,不过从web浏览器无法正常显示图形。
长期以来,一直采用第2种方法启动/重启alphablox服务。但是我总是不甘心,google一圈之后,找到了几种解决方法:
A - 最简单的方法,在tomcat的启动脚本中加入“-Djava.awt.headless=true”选项,试了一下,效果不错
B - 启动Solaris下的虚拟X-server,由于实在太繁琐,没深究,大体上好像是配置一下Xsun和Xvfb,有位牛人写了篇很长的文章,详细描述了这个问题及解决方法:
http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=16&thread=25319 文章标题是“
在solaris7,8,9环境中配置java图形平台”,有空一定好好拜读(估计又没戏了)