草庐IT

task-queue

全部标签

java - RxJava 测试 : how to wait for all background tasks to complete

TLDR:我在RxJavaObservables中进行后台处理,我正在进行集成测试,我希望能够独立等待该处理完成,以确保从一个测试开始的后台处理不会干扰另一个测试测试。简化后,我有一个@RequestMapping方法来执行以下操作:在数据库中插入数据启动该数据的异步处理(通过Feign进行http调用,数据库更新)不返回任何内容(HttpStatus.NO_CONTENT)此异步处理以前是使用ThreadPoolTask​​Executor完成的。我们将过渡到RxJava,并希望删除此ThreadPoolTask​​Executor并使用RxJava进行后台处理。所以当时我很天真地尝

java - 为什么 ArrayList 没有实现 Queue?

也许这很愚蠢,但我必须知道答案。我在看它的源代码时抓耳挠腮,没有看到作者在LinkedList中实现Queue的任何原因,但决定不对ArrayList做同样的事情,相反,他们创建了单独的类ArrayDeque。 最佳答案 接口(interface)Queue要求add将项目添加到Queue的末尾,remove从中获取元素队列的开始。(伪代码)Queueq=...q.add("A")q.add("B")q.add("C")//qisnow[A,B,C]Stringa=q.remove()//aisAandqis[B,C]现在;对于Ar

java - Gradle 5 Kotlin DSL : Common Tasks & Maven Artifacts in multi-modules projects

我真的很想欣赏Gradle5,尤其是与新的KotlinDSL结合使用,但我很难(在我看来)使用Gradle运行一个非常非常简单和通用的构建。任务发布一个Java库,其中包含Maven默认目录布局中的多个相互依赖的子模块作为高质量的MavenArtifact/存储库-point,简单的Gradle构建(即DRY)。因此:有一个根项目作为保护伞,它定义并包含所有通用配置(实际上除了真正的依赖项之外的所有配置)。我目前的挣扎我将当前的“结果”移植到asampleprojectonGithub和askedthisquestionintheGradleforumalready.目前,我未能声明在

java - ActiveMQ : dead letter queue keeps my messages order

我使用ActiveMQ作为代理来传递消息。这些消息旨在写入数据库中。有时,数据库无法访问或已关闭。在这种情况下,我想回滚我的消息以便稍后重试此消息,并且我想继续阅读其他消息。这段代码工作正常,除了一点:回滚消息阻止我阅读其他代码:privateConnectiongetConnection()throwsJMSException{RedeliveryPolicyredeliveryPolicy=newRedeliveryPolicy();redeliveryPolicy.setMaximumRedeliveries(3);//willretry3timestodequeuerollba

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

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

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

java - 在不使用时钟的情况下用 Java 实现 "task based"程序

我的一个friend在Java开发人员的工作面试中被要求实现一个接收任务的程序,这些任务基本上是具有“待办事项”方法和表示秒数(比如整数)的时间字段的对象。程序应执行任务的“待办事项”方法-从任务到达程序的那一刻起X秒内(其中X是此任务对象中定义为时间字段的时间)。例如,如果程序接收到一个任务,该任务有一个打印“helloIamatask”的“todo”方法并且时间字段为20,那么程序将在20分钟后接收到该任务-“你好,我是一个任务”消息将打印到控制台。你不能使用时钟或计时器,但你确实有某种“内置调度程序”,它每秒运行一次,可以检查每个任务的状态并在需要时执行它们。我认为一个好的解决方

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核基础-消息队列queue

目录一、消息队列基本概念二、消息队列运行机制三、消息队列开发流程四、消息队列使用说明五、消息队列接口六、代码分析(待续...)坚持就有收获一、消息队列基本概念队列又称消息队列,是一种常用于任务间通信的数据结构。队列接收来自任务或中断的不固定长度消息,并根据不同的接口确定传递的消息是否存放在队列空间中。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。可以通过调整读队列和写队列的超时时间来调整读写接口的阻塞模

java - JAXB Ant Task - 从哪里获得 JAR?

有许多资源可以解释JAXBAnt任务。例如Oracle本身:http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/jaxb/ant.html.然而,显然,没有任何来源似乎提供了JAXB库,尤其是jaxb-xjc.jar,或者至少给出了在哪里下载它的提示。我的JDK1.6.0_24的XJCJABX编译器是2.1.10版本。JDK中似乎没有提供任何JAXB库。我尝试了诸如jaxb-builderEclipse插件(http://sourceforge.net/projects/jaxb-b

java - java线程间通信: stopping all threads when one finishes its task

我有n个线程并行运行,每个线程都执行一些自定义逻辑。但是,我的要求是,当任何一个线程完成执行时,所有其他线程都应该停止执行并返回。实现它的最佳方法是什么?我想通过共享boolean变量来做到这一点。当任何线程完成执行时,它将设置boolean值。所有线程都定期读取此变量并在设置时退出。此外,我的自定义逻辑是一个无限循环,一旦我知道某个其他线程已完成执行,我想在当前迭代后停止执行。这样做的正确方法是什么? 最佳答案 使用ExecutorService及其.invokeAny()方法(注:也有超时的版本)。来自Javadoc:Execu