当前位置: 首页 > 面试题库 >

检测代码是否在应用服务器Java中运行的最佳方法

颛孙建业
2023-03-14
问题内容

对于J2EE bean,我正在重用为Java
swing应用程序开发的代码。JOptionPane.showMessageDialog()不幸的是经常使用。幸运的是,大多数情况发生在J2EE应用程序未重用的代码段中,但在某些情况下,较低级别的代码具有的实例JOptionPane.showMessageDialog()。显然,这会导致服务器上弹出对话框,这是我要避免的事情。

第一步,我想以某种方式确保服务器上不会出现任何对话框。

有人建议在某些事件或绘画队列中偷看(我不记得是哪一个):那是:

// old code: JOptionPane.showMessageDialog(msg);
if ( someEventQueue.size() == 0 ) // <== consider this pseudo-code
  Log.log(msg); // I am running on a server. Tell the log.
else
  JOptionPane.showMessageDialog(msg); // I have a user made of meat. Tell him!

我从来没有 真正做到 这一点。你会怎么做?


问题答案:

确保服务器以

java -Djava.awt.headless=true

默认情况下,大多数服务器应以这种方式启动。然后您可以检查:

boolean headless_check = GraphicsEnvironment.isHeadless();

有关无头的更多详细信息,请点击此处:



 类似资料:
  • 问题内容: 如何检测代码是否在Eclipse IDE中运行 问题答案: 我不知道获取此类信息的通用方法。 一个建议: 当您在Tomcat中启动Java程序(或Web服务器)时,只需添加一个参数即可表明该程序是由Eclipse启动的。 您可以通过打开“打开运行对话框”(“运行”菜单),然后选择您的应用程序类型并在“参数”选项卡中添加a来实现。 在您的Java代码中,您可以检查属性的值: 这样,如果程

  • 问题内容: 我试图找出表中是否存在行。使用MySQL,最好执行如下查询: 并检查总数是否为非零或执行以下查询更好: 并检查是否返回任何行? 在两个查询中,WHERE子句均使用索引。 问题答案: 您也可以尝试: 根据文档,您可以执行任何操作。 传统上,EXISTS子查询以SELECT 开头,但可以以SELECT 5或SELECT column1或任何其他形式开头。 MySQL会忽略此类子查询中的SE

  • 问题内容: 我有一个安排计时器的游戏。我有这个CoresManager文件: 我在游戏中使用这个: 如果播放器注销并且服务器重新启动,CoresManager计时器将停止运行。为了使其再次运行,我添加了代码以使其在您再次登录后再次执行startTimer()。但是,由于如果服务器未注销,计时器仍在运行,因此计时器开始运行两次。根据您注销和登录的次数,计时器开始减去2或更多。我认为,如果有代码确定计

  • 问题内容: 我需要检查一组页面对象,以查看每个对象是否在其WebDriver上调用了quit()。 我编写了以下方法来检查WebDriver的状态: 问题就在这里:我不喜欢抛出异常来发现布尔值的真相,但是由于 WebDriver API 没有提供检查驱动程序是否退出的方法,因此我似乎别无选择。 所以我的问题是, 是否有更好的方法来检查WebDriver是否已退出? 我在这里找到了一个类似的问题(但

  • 问题内容: 我正在尝试检查某一个是否为元音。这样做的最佳方法是什么? 问题答案: 这是我使用了一段时间的解决方案,但它并没有让我失望: 对于我的应用程序,它相当快。

  • 问题内容: 我想以编程方式确定是否直接从XCode(在模拟器中或在系留设备上)运行iOS应用。我尝试了此处描述的-DDEBUG解决方案,但是当我断开与Xcode的连接并重新运行该应用程序时,它仍然认为它处于调试模式。我认为我正在寻找的是此功能的Swift版本 问题答案: 说明: 您的C代码(以及下面的Swift版本)检查程序是否在 调试器的控制 下运行 , 而不是是否从Xcode运行。一个人可以在