【发布时间】:2012-12-19 14:54:31
【问题描述】:
我们编写了一个 java 代理,其中包括使用 java.awt.TrayIcon 提供某种 GUI。当我们使用这个代理时,例如Tomcat,我们有以下问题:
- 用户使用 shell 脚本启动 Tomcat
- 我们的代理将图标添加到系统托盘
- 用户使用 shell 脚本关闭 Tomcat
- AWT 事件线程看到,仍然有可显示的组件、系统托盘图标,并且没有退出
- 由于 AWT 事件线程是非守护线程,整个应用程序无法退出
现在的问题是,我们应该怎么做才能让应用程序关闭?是否可以制作 AWT 事件调度线程守护进程?代理是否有关闭挂钩?还有什么?
【问题讨论】:
标签: java awt systray javaagents