草庐IT

GPIO中断

全部标签

Java API 中断

我有以下API:publicinterfaceMyApi{/***Performssomestuff.*@throwsMyExceptionifconditionC1*/publicvoidmethod()throwsMyException;}我现在在我的API实现中执行以下修改publicclassMyApiImpl{publicvoidmethod()throwsMyException{if(C1){thrownewMyException("c1message");}...}}被替换为:publicclassMyApiImpl{publicvoidmethod()throwsMyE

java - 强制 try block 在两者之间中断的最佳方法是什么?

我有一个try-catchblock,我希望像switchblock一样break但我做不到找到推荐的方法。我在try-catchblock中获取大量数据,并希望在满足特定条件的情况下停止获取。只是为了让它现在工作,我故意强制代码进入catchblock:inti=0;try{//--dostuff----if(//-------isconditionmet?--------//)i=1/0;//divide1by0--adefiniteexception}catch(Exceptione){//---------donothing---------//}这样做安全还是我应该换一种方式

java - 如何正确中断 JAX-RS AJAX 请求

我有一个部署到JBoss7.1.1.Final的JavaEE应用程序。该应用程序利用JAX-RS为客户端提供REST服务。其中一项服务保持客户端连接,直到通过BlockingQueue接收到响应对象。到目前为止,这似乎工作正常。但是,即使删除应用程序部署/关闭应用程序,连接也会保持打开状态。它甚至可以防止JBoss关闭。所以我试图通过@PreDestroy回调中断等待线程来执行干净关闭。该服务如下所示:@Path("/mypath")@SessionScopedpublicclassMyResourceimplementsSerializable{privatestaticfinall

java - 如何检测 Apache Camel 中断开/恢复的 JMS 连接?

我们正在使用ApacheCamel(Camel2.10.3,基于JavaDSL)构建一个集成项目。我们有一个从数据库中提取数据的路由(我们称之为IN_DB),每天执行一些逻辑并插入另一个数据库(OUT_DB),另一个订阅XML数据的JMS主题的路由,做一些逻辑并将其全天插入同一个数据库(OUT_DB)。要求是,当JMS主题连接因任何原因中断时,我们会无限期地尝试重新连接,一旦重新连接成功,我们需要返回数据库(IN_DB)并进行另一次加载以填补空缺话题在哪里。我的问题是我们如何在Camel中执行此逻辑(“我已连接,然后断开连接,现在我再次连接”)?当主题下降时,以主题消费者开始的路由会发

读取套接字时Java中断线程

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoterminateathreadblockingonsocketIOoperationinstantly?我让客户端在线程中运行,想从Java中的套接字读取数据。但是在阅读时,也许我想终止线程。所以我中断它,但是套接字的读取方法会抛出InterruptedException吗?我没找到。那么,当线程在读取套接字时阻塞时,我怎样才能很好地让线程死掉?谢谢

java - 中断 quartz 集群中的工作

我有一个包含多个实例的Quartz设置,我想在执行作业的任何地方中断它。正如文档中所说,Scheduler.interrupt()方法不是集群感知的,所以我正在寻找一些常见的做法来克服这种限制。 最佳答案 好吧,这里有一些您应该用来实现这一目标的基础知识。在集群模式下运行时,有关当前正在运行的作业的信息在quartz表中可用。例如,q_fired_triggers包含正在执行的作业。该表的第一列是负责它的调度程序名称。因此很容易知道谁在做什么。然后,如果您启用quartz实例org.quartz.scheduler.jmx.expo

java - Netty EventExecutorGroup 中断管道

情况:我有一个使用Netty4.0.17.Final的代理应用程序(仅供引用:我已经遇到了版本4.0.13.Final和4.0.9.Final的问题),那就是基于proxyfromtheNettyexamples.我的代码和示例之间的主要区别在于,当channel激活时,我的代码不会连接到后端服务器,而是仅在第一次读取时才连接,因为此读取必须首先对输入进行一些检查,然后才能连接和将该消息转发到后端服务器。我对我的应用进行了数小时的单元测试和负载测试,它运行良好。问题:由于收到的第一条消息需要执行一些阻塞操作,因此我尝试为执行此操作的处理程序使用单独的EventExecutorGroup

java - Java 中是否可以进行 "atomic"中断检查?

如果在Java中使用以下带有中断的“成语”,例如fromthisanswer.while(!Thread.currentThread().isInterrupted()){try{Objectvalue=queue.take();handle(value);}catch(InterruptedExceptione){Thread.currentThread().interrupt();}}在哪里take是一个阻塞操作,如果在检查Thread.currentThread().isInterrupted()和调用queue.take之间有中断“到达”,是否可以暂时不忽略中断()?这不是“先

java - 为什么最后一个线程没有被中断?

我正在尝试演示一种“随时算法”——一种可以随时停止并返回其当前结果的算法。演示算法仅返回i的一些数学函数,其中i是递增的。它检查是否被中断,如果是,则返回当前值:staticintalgorithm(intn){intbestSoFar=0;for(inti=0;i在主程序中,我是这样使用的:Runnabletask=()->{Instantstart=Instant.now();intbestSoFar=algorithm(1000000000);doubledurationInMillis=Duration.between(start,Instant.now()).toMillis

Java ExecutorService invokeAll() 中断

我有一个宽度为10的固定线程池ExecutorService,以及100个Callable的列表,每个等待20秒并记录它们的中断。我在一个单独的线程中对该列表调用invokeAll,并且几乎立即中断了该线程。ExecutorService执行如预期中断,但Callable记录的实际中断次数远超预期10次——20-40次左右。为什么会这样,如果ExecutorService可以同时执行不超过10个线程?完整源代码:(由于并发性,您可能需要多次运行它)@Testpublicvoidinterrupt3()throwsException{intcallableNum=100;intexecu