gpt4 book ai didi

java - 中断 Java 调用或回调或 R 中的类似内容

转载 作者:行者123 更新时间:2023-12-01 04:37:56 25 4
gpt4 key购买 nike

我使用这个名为“Rjms”的包,它是 RJava 的包装器,用于从 apache activeMQ 推送/使用。包中有一个名为“consume”的函数,我用它来从队列中消费。问题是,一旦我调用该电话,直到从队列收到消息为止,应用程序都会挂起。如果碰巧队列为空,则整个脚本将被挂起。我想添加某种时间,这样如果 5 分钟内没有收到消息,那么我想挂断电话。

一旦在 R 中进行调用,它就会在内部调用一些 Java 函数(我假设)。因此我不确定 R 是否可以中断这个过程。我正在阅读回调,这似乎是个好主意,但找不到任何可以在 R 中使用的具体内容。我不确定是否可以给出一个可重现的示例,因为需要首先设置 Apache ActiveMQ。但总的来说,有没有一种方法可以摆脱非 R 原生的函数调用?

任何帮助将不胜感激。

链接 - Rjms 包 - http://cran.r-project.org/web/packages/Rjms/Rjms.pdf

最佳答案

我无法准确说出 R 正在做什么,但听起来好像它调用了阻塞 MessageConsumer#receive 方法,该方法将永远等待消息到达。有一个定时替代方案,但我不知道您是否有权使用它。通常,您可以通过调用其 close() 方法来关闭 MessageConsumer 来中断此方法,如果您可以进行调用该方法,那么它应该中断并返回 null,或者可能抛出一个我忘记了的异常。我对 R 不太了解,所以无法提供任何其他建议,打破阻塞调用往往因情况而异。

关于java - 中断 Java 调用或回调或 R 中的类似内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17060787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com