草庐IT

hook_event_proc

全部标签

java - JUnit 测试失败 Hook 上的 Cucumber

我们使用Cucumber-JVM来编写我们的验收测试脚本,并使用JUnit来执行它们(通过JUnitCucumber运行程序)。由于这些测试涉及SeleniumWebDriver,我希望能够在我的测试失败时截取屏幕截图(我有相应的代码)。如果我简单地添加一个WebDriveronException钩子(Hook),当断言失败时将不会截取屏幕截图。我希望能够向Cucumberrunner添加JUnit执行监听器,但API似乎不支持此功能(Cucumber.class上没有addListener方法)。有人可以帮忙吗?感谢团队。 最佳答案

java - Dropwizard 关闭 Hook

问题是,我停止了Dropwizard应用程序(通过ctrl+c)并且我在主类中插入了一个ShutdownHook以在关闭之前做一些事情。但是现在应用程序的ServerConnector在我可以做我想做的事情之前关闭了。有一个轮询服务(轮询我的资源之一),我需要告诉他们,该应用程序将很快关闭以防止出现一些问题。我至少需要15秒才能停止资源。知道如何解决这个问题吗? 最佳答案 您可以使用生命周期Hook来管理某些资源。publicclassManagedObjectimplementsManaged{privatefinalObject

java - Hook 到 System.out.println();并修改

我想修改System.out.println();打印的输出。这怎么可能?这是可能的——我在Bukkit/Craftbukkit中看到过。如果插件使用System.out.println(Stringstring)打印字符串;Bukkit将时间/日期和日志记录状态添加到字符串中。我想像Bukkit一样做。 最佳答案 您可以更改用作标准输出的PrintStream:System.setOut(PrintStreamout)创建您自己的PrintStream将您想要的任何额外信息打印到(旧)标准输出的实现,并将其设置为:System.s

java并发: flag/event

我正在java并发类中寻找不可重置的标志或事件类,我可以用它来检查是否完成了某些事情并且是线程安全的。理想情况下是这样的:publicinterfaceEvent{/**returnstrueifsignal()hasbeencalled*/publicbooleanhasOccurred();/**returnswhensignal()hasbeencalled*/publicvoidawait();publicvoidsignal();}这样的东西已经存在了吗?我脑抽筋试图记住 最佳答案 我认为您正在寻找CountDownLat

Java,设计模式 : Multiple event sources and One event Handler

我想在具有多个事件源(线程)的Java中实现一个设计。这样的事件源完成一个特定的任务,必须通知唯一的事件处理程序(类),这个事件处理程序必须根据事件源通知完成其他任务。我的问题是:如何在Java中以适当的方式实现这个设计?有类似这种设计的设计模式吗?提前谢谢你:)。 最佳答案 我认为您正在寻找Observer图案。Java确实有一些标准接口(interface)(java.util.Observer、java.util.Observable),尽管这些接口(interface)不是特定于类型的;因此,如果域似乎需要它,您可能会考虑自

java - Eclipse 和 Java : Is there an event monitoring feature?

在eclipse中开发javaguis(例如swing)时,是否有一个内置功能(或插件)可以监控所有触发的事件? 最佳答案 您也可以自己编写一个AWTEventListener。只需将以下几行添加到您的程序中即可。Toolkit.getDefaultToolkit().addAWTEventListener(newAWTEventListener(){publicvoideventDispatched(AWTEventevent){System.out.println(event);}},-1);用你喜欢的任何东西替换输出。您还可以

java - 确定哪些方面 Hook 到给定的类

是否有可能确定哪些方面挂接到给定类并获得对其实例的访问权限?类似于:Foofoo=newFoo();Listaspects=getAllAspectsOf(foo); 最佳答案 首先,您很可能无法使用现有的AspectAPI进行任何此类监控,因为Aspect包装器会拦截具有不绑定(bind)到任何特定组件的特定目的的调用,因此不会有任何检测拦截方面的自然方法。也就是说-可能有一种方法可以将方面包装在某种策略类中,但是,维护它的工作量将非常大。http://www.eclipse.org/aspectj/doc/released/fa

java - 有没有办法使用 java 获取/ Hook /附加一个已经运行的进程?

我希望能够做这样的事情:Processp=getRunningProcess(pid)如果有办法,进程的创建方式(使用java、使用python、从shell等...)是否重要? 最佳答案 可以从Java应用程序附加到另一个JVM进程(例如,能够监控正在发生的事情并可能在问题发生之前检测到问题)。您可以使用AttachAPI来执行此操作.不太了解附加到非JVM进程。Stringname=...Listvms=VirtualMachine.list();for(VirtualMachineDescriptorvmd:vms){if(v

java - Jenkins 钩子(Hook)不工作 - Jenkins bitbucket

您好,我正在使用jenkins和bitbucket,我想在我向bitbucket存储库提交任何内容时触发jenkins中的构建。在Jenkins我创建了一个名为test_1的项目在配置部分BuildTriggers部分我勾选了Triggerbuildsremotely我添加了一个tokenTEST_TOKEN当我在我的浏览器url中输入这个并执行jenkins构建时被触发http://test.com:8080/job/test_1//build?token=TEST_TOKEN在位桶中我添加了一个jenkinshook端点:http://test.com:8080/job/test_

java - 如何在关闭 Hook 中获取返回码

我需要根据我的申请结果修改JVM返回码。但是显式调用System.exit(code)是有风险的,因为应用程序很复杂并且很难识别运行线程的结束。所以我想到了使用shutdownhook在JVM退出之前修改返回码。但是有一个问题,我怎样才能得到JVM的原始返回码,因为它可能是一个非0的错误码。 最佳答案 你不应该在shutdownhook中调用exit方法,System.exit(status)内部调用Runtime.getRuntime().exit(status);这会导致你无限期阻止的应用程序。根据JavaDocIfthisme