java - tomcat中的独立应用程序

标签 java multithreading tomcat web-applications

我有一个简单的 java 类,我想以编程方式运行它。这基本上是一个视频播放器。它还与我的 web 应用程序一起部署在 tomcat 中。这应该在点击特定链接时运行。从 Controller ,这是我运行它的方式

new Thread(() -> { VideoPlayer.main(new String[]{}); }).start();

它工作正常。但每次我关闭视频播放器时,tomcat 也会终止。关于如何纠正此问题的任何想法?

最佳答案

当您关闭它时,您的 GUI 可能会调用 System.exit。这将取消 Tomcat,因为它们都在同一个 JVM 中运行。找到并删除 System.exit,您会发现事情会更适合您。

另请注意,网络应用程序启动视频播放器没有任何意义。想一想:一旦 Web 应用程序不再在您自己的个人开发工作站上运行,视频将在服务器 上播放,而没有人可以观看。服务器可能甚至不会连接监视器。最有可能的是,您会收到视频播放器的一系列异常,告诉您它无法自行初始化,因为没有任何可启动的图形环境。

关于java - tomcat中的独立应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41281467/

相关文章:

java - 当我单击带有滑动菜单的菜单图标时崩溃

java - 使 Java volatile 工作

java - SSLContext 和 SSLSocketFactory createSocket 线程安全吗?

tomcat - 将 tomcat webapp 从服务器移动到本地主机

java - 我如何在没有浏览器的情况下以编程方式触发谷歌分析事件?

java - Struts2 推送通知/WebSocket 交互最佳实践

java - FileDescriptor.sync() 线程安全

java - System.getProperty ("user.home") 在 Tomcat 上返回 "/usr/share/tomcat7/"

apache - 将 apache 用作具有粘性 session 的负载平衡器 - 需要基于粘性 session 的负载平衡

java - JMeter安装: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable