小编Jor*_*ley的帖子

jstack -F如何影响正在运行的Java进程?

我正在尝试诊断我正在使用的Java Web应用程序(Jenkins)没有响应的问题.如果我在jstack没有-F标志的情况下运行它不会给我任何东西,但是如果我将标志放入以强制进行线程转储,不仅我得到了结果,而且应用程序开始响应并继续进行,好像什么都没发生,直到它最终再次停止响应.

jstack -F标志会做什么会影响正在运行的JVM并导致无响应的应用程序再次开始响应?

java jvm jstack

28
推荐指数
2
解决办法
2万
查看次数

在Java Swing中进行打印的单元测试

我有一些代码使用我要进行单元测试的Swing/AWT打印功能.它使用系统本机打印对话框,但有没有办法让JVM拦截它并在单元测试期间用模拟替换它,这样我就可以获得要打印的图像的副本?

我的打印代码很简单,看起来大致如下:

     Printable printable = getPrintable();

     PrinterJob printJob = PrinterJob.getPrinterJob();
     printJob.setPrintable(printable);

     if (printJob.printDialog())
     {
        try
        {
           printJob.print();
        }
        catch (PrinterException exception)
        {
           ...
        }
     }
Run Code Online (Sandbox Code Playgroud)

我一直在使用FEST进行其他GUI测试,但它似乎没有任何支持打印测试.这是否可能,或者我是否需要编写测试文档,告诉QA去检查他们的打印机?

java testing swing

6
推荐指数
1
解决办法
305
查看次数

swingWorker是否保证在完成时抛出州财产变更事件?

我有一个类,它接受一些SwingWorkers并按特定顺序一次运行一个.我用a ReentrantLock来确保一次只运行一个worker.通常情况下,我总是在finally子句中解锁,但我需要它保持锁定,直到工人完成.

        nextWorker.getPropertyChangeSupport().addPropertyChangeListener("state", 
        new PropertyChangeListener()
        {
           @Override
           public void propertyChange(PropertyChangeEvent evt)
           {
              if (evt.getNewValue().equals(SwingWorker.StateValue.DONE))
              {
                 executionLock.unlock();
              }
           }
        });
Run Code Online (Sandbox Code Playgroud)

如果不是这种情况,是否保证调用done()?我宁愿不以这种方式调用解锁,因为它会在某种程度上违反封装.

由于项目的性质,这可能会在代码审查中出现.在这种情况下,拥有可验证的来源会很有帮助.到目前为止,我一直找不到一个.

java swing swingworker

4
推荐指数
1
解决办法
1340
查看次数

标签 统计

java ×3

swing ×2

jstack ×1

jvm ×1

swingworker ×1

testing ×1