草庐IT

任务队列

全部标签

java - 如何检测程序 java 强制从 Windows 任务管理器关闭?

如果我问了这样一个菜鸟问题冒犯了某人,伙计们很抱歉,因为我看到有人因为不合适而“标记了”问题。这是我第一次在这里提问,如有不当请见谅,如果我的英语不是很好,请见谅。当我的程序已通过任务管理器关闭时,我正在尝试创建一个临时文件...但我不知道如何检测我的程序是否已通过任务管理器关闭!!!我该怎么做?我在谷歌上搜索了很多,但要么我使用了错误的关键字,要么互联网上没有简单的解决方案。我希望这里有人可以帮助我。提前致以最诚挚的问候和感谢。 最佳答案 要捕获通过任务管理器的“应用程序”选项卡发送的SIGTERM或WM_CLOSE等常规终止请求

java - 当线程池中没有空闲线程并且我们向池中提交任务时会发生什么?

线程创建方法会等待线程释放吗?我可以减少使用线程池生成的线程数吗? 最佳答案 如果使用缓存线程池,该池将创建更多线程。但是,这只是任何时候所需的最大值,可能远少于您提交的任务数。如果您使用固定大小的线程池,它会创建固定数量的线程,无论您是否给它任何任务,或者如果您给它的任务超过它的能力。它会将所有正在等待的任务排队。Willthethreadcreatingmethodwaitforathreadtogetfree?虽然您可以创建一个执行此操作的队列,但这不是默认行为。一个更常见的解决方案是让调用者在需要时执行任务。canIredu

java - 循环消息/任务队列现有解决方案

考虑有一组有限的任务必须在特定时间段内完成(也在该时间段内均匀分布),然后一次又一次地重复。如果是一个本地工作线程/线程,我们只需做这样的事情(对伪代码感到抱歉):longinterval=period/tasks.sizewhile(true){for(taskintasks){task.do()sleep(interval)}}现在我想以分布式方式与多个独立工作人员一起执行此操作。对于这种情况,是否有一些已知的最佳实践解决方案(最好来自Java世界)?循环消息队列?分布式任务锁?我用google安静地搜索了一下,但看不到任何开箱即用的优雅解决方案。 最佳

java - Maven 可以运行非构建任务吗?

我从Ant转移到Maven,但我错过了一件事:执行任意任务的能力。我想摆脱Ant的build.xml但我仍然需要它。偶尔我需要为XML处理和PDF处理运行一些统计信息。它们不是构建的一部分,但无论如何我都需要将它们自动化。在Ant中,我过去只是在代码中编译和运行一个java类,以使用javaAnt任务,例如:试图让我的大脑围绕它。也许Maven并不是为了帮助任何自动化而设计的,而只是解决“面向构建”的任务。是吗? 最佳答案 基本上,Maven定义阶段、目标、插件和生命周期。阶段:定义的构建生命周期中的一个阶段。每个阶段都是一个目标序

java - 使用 Java 的 SwingWorker 使任务超时

我正在尝试在我的应用程序中实现一个SwingWorker类。有没有办法设置SwingWorker“超时”的时间长度?我当时在想,也许会抛出一个我可以捕获然后处理的OutOfTime异常。我只是不确定如何实现它。感谢您的帮助! 最佳答案 为什么不将您的任务嵌入到一个Runnable中,将其放入一个新的单线程ExecutorService然后对结果Future执行get()适当的超时。这将为您提供超时功能,因为如果作业没有及时完成,get()将抛出异常。 关于java-使用Java的Swin

java - ScheduledThreadPoolExecutor 可以同时执行多个任务吗?

ScheduledThreadPoolExecutor的文档说-安排在完全相同执行时间的任务以先进先出(FIFO)的提交顺序启用。这是否意味着应该同时完成的任务永远不会同时完成。相反,它们以FIFO顺序执行?如果那是真的那么我应该使用哪个类比Timer更好并且没有这个FIFO问题? 最佳答案 ScheduledThreadPoolExecutor的工作方式是有一个"dispatch"或主线程来检查要执行的任务。如果它找到一个任务,它会将它委托(delegate)给池中的“工作”线程。如果多个任务准备好执行,它们将一次“启动”一个任务

java - 您能否在 Java 嵌入式代理中以编程方式更改队列的 "dead letter"处理?

背景在高层次上,我有一个Java应用程序,其中某些事件应触发要为当前用户执行的特定操作。但是,事件可能很频繁,Action总是一样的。因此,当第一个事件发生时,我想安排在不久的将来某个时间点(例如5分钟)采取行动。在那个时间窗口内,后续事件不应该采取任何行动,因为应用程序看到已经安排了一个行动。一旦预定的Action执行,我们就回到第1步,下一个事件再次开始循环。我的想法是通过在应用程序本身中嵌入一个内存中的ActiveMQ实例来实现这种过滤和限制机制(我不关心队列持久性)。我相信JMS2.0支持这种延迟传递的概念,延迟的消息位于“暂存队列”中,直到传递到真正的目的地为止。但是,我也相

java - jar 的 Gradle 自定义任务

我正在为我的Java项目使用Gradle,我想知道是否有可能阻止gradlebuild每次执行时都创建一个jar文件。此外,是否可以在特定位置build/myAppJar/创建具有依赖项的Jar的自定义任务。到目前为止,这是自定义任务的内容:tasktoJar(type:Jar){fromconfigurations.compile.collect{zipTreeit}manifest{attributes'Implementation-Title':'myApp','Implementation-Version':1.0,'Main-Class':mainClassName}}以上代

java - 使用 Spring Cloud Stream 将 RabbitMQ 消费者绑定(bind)到现有队列

我使用RabbitMQ网络用户界面创建了一个主题交换TX并绑定(bind)到交换两个队列TX.Q1和TX.Q2,每个都与路由键rk1和rk2相应地绑定(bind),并向交换生成少量消息。现在我想使用SpringCloudStream创建一个消费者,它只会从Q1获取消息。我尝试使用配置:spring.cloud.stream.bindings.input.destination=TXspring.cloud.stream.bindings.input.group=Q1以及消费消息的方法的注解@StreamListner(Sink.INPUT)。结果我可以看到消费者创建了一个同名队列(或绑

java - 两个构建配置文件处于 Activity 状态,但 Maven 仅在一个配置文件中执行 antrun 插件任务

我们的应用程序可以为多个应用程序服务器构建,并在多个环境中使用。应使用Maven配置文件指定应用程序服务器和目标环境的类型。编译代码时,每种配置文件类型中应该只有一种。所有配置文件都会导致执行一个或多个mavent-antrun-plugin复制任务,以便将正确的设置文件包含到生成的JAR中。下面是pom.xml文件的一部分。包括部分AS配置文件“oracle”,以及部分环境配置文件“development”。目的是,为了创建可以在开发环境中部署到OracleAS的JAR,使用两个配置文件开关编译代码mvn-Poracle,developmentAS配置文件还有其他任务(下面未显示)必