Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中中断Java调用或回调或类似的操作_Java_R_Activemq_Rjava - Fatal编程技术网

在R中中断Java调用或回调或类似的操作

在R中中断Java调用或回调或类似的操作,java,r,activemq,rjava,Java,R,Activemq,Rjava,我使用这个名为“Rjms”的包,它是RJava的包装器,用于从ApacheActiveMQ推送/消费。包中有一个名为“consume”的函数,我使用它从队列中使用。问题是,一旦我进行了调用,直到从队列接收到消息,应用程序才会挂起。如果队列为空,则整个脚本将暂停。我想加上一段时间,如果消息在5分钟内没有发出,我想取消电话 在R中进行调用后,它将在内部调用一些Java函数(我假设)。因此,我不确定R是否能中断这个过程。我在阅读回调的内容,这似乎是个好主意,但在R中找不到任何具体的使用方法。我不确定是

我使用这个名为“Rjms”的包,它是RJava的包装器,用于从ApacheActiveMQ推送/消费。包中有一个名为“consume”的函数,我使用它从队列中使用。问题是,一旦我进行了调用,直到从队列接收到消息,应用程序才会挂起。如果队列为空,则整个脚本将暂停。我想加上一段时间,如果消息在5分钟内没有发出,我想取消电话

在R中进行调用后,它将在内部调用一些Java函数(我假设)。因此,我不确定R是否能中断这个过程。我在阅读回调的内容,这似乎是个好主意,但在R中找不到任何具体的使用方法。我不确定是否可以给出一个可复制的示例,因为首先需要设置ApacheActiveMQ。但是一般来说,有没有一种方法可以从一个不是R所固有的函数调用中产生呢

任何帮助都将不胜感激


Link-Rjms-Package-

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

请注意,由于提出了这个问题,“Rjms”包已从CRAN存储库中删除。