草庐IT

任务队列

全部标签

java - 如何防止 Ant 任务失败时 Maven 构建失败?

我正在使用FTPAnttask与maven-antrun-pluginorg.apache.maven.pluginsmaven-antrun-pluginftpgenerate-resourcesrun...问题是当文件夹${ftp.server.remotedir}不存在时我的构建失败。我试图指定skipFailedTransfers="true"ignoreNoncriticalErrors="true但是这些并不能解决问题,而且构建一直失败。AnAntBuildExceptionhasoccured:couldnotchangeremotedirectory:550/myBad

java - 使用后台线程与使用消息队列

我目前正在研究一系列警报,这些警报将检查来自外部网络服务的响应状态,并根据响应对象的状态(例如超时、无效数据等)发送警报。我希望主线程在评估响应和发送警报时继续工作。我有两个立即可用的选项:使用ActiveMQ并将对象作为objectMessage发送到队列进行处理。使用命令模式并线程化处理警报的异步命令。它们对我来说都是不错的选择,但我更倾向于线程命令,因为我不需要消息队列的大部分功能。问题:您将如何决定使用哪个?为什么? 最佳答案 两个字:保证交付。如果这对您很重要,那么消息队列就是您想要的。

java - Hazelcast 队列信息

我目前正在使用hazelcast编写分布式系统。我有几个关于使用hazelcast实现的队列的问题。处理队列中数据的最佳方法是什么?我目前在每个“节点”上都有线程读取阻塞队列处理数据。这是正确的还是有一些我不知道的类负责处理这个问题,比如JMS或messageListener?我看到有一个生存时间设置,一旦过期就会从队列中删除条目。我的问题是......有没有办法检测从队列中删除过期项目?我知道有Listener但这无济于事,因为它在所有“节点”上触发,而不仅仅是一个。我正在寻找一种为每条过期消息执行代码的方法(类似于死信队列)。如有任何意见或建议,我们将不胜感激。谢谢

java - 为什么 spring task scheduler 等待上一个任务完成?

我有以下任务调度程序设置:任务只打印一行并hibernate10秒。使用此设置,我的期望是任务将每5秒运行一次,而不管之前的任务是否已完成执行(即停止hibernate)。但事实并非如此,该任务每15秒运行一次(sleep时间,然后在下一次cron被命中时)。我如何配置它,使任务每5秒运行一次,而不管上一次执行是否完成? 最佳答案 在运行方法中放置@Async注释并查看@Asyncpublicvoidrun{}或者你可以试试这个然后是你的类(class)packagefoo.bar;publicclassTask{publicvoi

Java 优先级队列比较器

我已经为优先级队列定义了自己的比较函数,但是比较函数需要数组的信息。问题是当数组的值改变时,它并没有影响比较函数。我该如何处理?代码示例:importjava.util.Arrays;importjava.util.Comparator;importjava.util.PriorityQueue;importjava.util.Scanner;publicclassMain{publicstaticfinalintINF=100;publicstaticint[]F=newint[201];publicstaticvoidmain(String[]args){PriorityQueue

java - 如何找到 horneq 队列长度

我正在使用Hornetq2.0,我不明白我怎么知道此刻队列中有多少消息。这是一个非常有用的功能,因此我可以在运行时知道我的消费者是否足够快地消费消息。我没有使用JMSapi,而是使用高度优化的核心API。获取队列中消息数量的正确(最快)方法是什么?我找到了2种方法,但不知道什么是正确的方法。publicintsize(){ClientSessionsession;try{session=sf.createSession(false,false,false);ClientRequestorrequestor=newClientRequestor(session,"hornetq.mana

java - Spring/Java 调度任务

我正在生成一个线程,它将不断从数据库中提取记录block并将它们放入队列中。该线程将在服务器加载时启动。我希望这个线程一直处于Activity状态。如果数据库中没有记录,我希望它等待一段时间后再检查。我正在考虑使用springtaskscheduler来安排它,但不确定这是否正确,因为我只希望我的任务启动一次。在Spring中实现它的好方法是什么?此外,我需要进行边界检查,以确保如果我的线程出现故障(由于任何错误或异常情况),它应该在一段时间后重新实例化。我可以通过使用线程通信方法在Java中完成所有这些,但只是尝试在Spring或Java中是否有适用于此类场景的东西。任何建议或指示都

java - 在 RxJava 中超时取消任务

我正在试验RxJava和Java8的CompletableFuture类并且不太了解如何处理超时情况。importstaticnet.javacrumbs.futureconverter.java8rx.FutureConverter.toObservable;//...ObservabledoSomethingSlowly(){CompletableFuturetask=CompletableFuture.supplyAsync(()->{//thiscallmaybeveryslow-ifittakestoolong,//wewanttotimeoutandcancelit.ret

java - 将 Activiti 任务从旧流程迁移到新流程

我有一个用于某些业务流程的Activiti项目。问题是关于迁移的。现有流程有一些未完成的任务。我想通过添加新步骤来修改现有流程。现在,当我创建一个新任务时,这个新任务将根据更新后的流程进行处理。未完成的任务将按旧流程处理。让我们来看下面的例子:https://spring.io/blog/2015/03/08/getting-started-with-activiti-and-spring-boot在此示例中,请考虑以下行:taskVariables.put("telephoneInterviewOutcome",true);假设我有一些业务逻辑代码,我在其中检查此变量的值,例如:if

java - 在应用程序引擎任务队列(JAVA)中传递多个参数

有没有办法在google-app-engine的队列中传递多个参数?我使用下面的代码Queuequeue=QueueFactory.getQueue("sms-queue");queue.add(TaskOptions.Builder.url("/SQ").param("id",pId));在我的servlet中,这个id作为查询字符串被检索。longpID=Long.parseLong(req.getParameter("id"));我需要传递6个参数。 最佳答案 你试过这样做吗:queue.add(TaskOptions.Bui