连接到 R 上的 ActiveMQ(或 SQS)

Connecting to ActiveMQ (or SQS) on R

我找不到任何适用于 R 的现代修订版且未过时的代码。一些 GitHub 存储库导入工作(在下面添加),但 none 专门用于 ActiveMQ .

remotes::install_github("cloudyr/aws.s3")
​remotes::install_github("Azure/AzureQstor")
​install.packages("rzmq")​
remotes::install_github("lecardozo/rworker")

我需要它在 R 版本 3.6.3 上工作。 我最接近它的工作是通过 Apache 的参考代码:

Sys.setenv(JAVA_HOME="C:/Program Files/AdoptOpenJDK/jre-8.0.242.08-hotspot")  #custom provision of Java SDK
library("rJava")
.jinit()
attach(javaImport(c("javax.jms", "org.apache.activemq")))
connFactory <- new(ActiveMQConnectionFactory)  # ERROR: R doesn't recognize "new"
conn <- connFactory$createConnection()
sess <- conn$createSession(FALSE, Session$AUTO_ACKNOWLEDGE)
dest <- sess$createQueue("SampleQueue")
prod <- sess$createProducer(dest)
msg <- sess$createTextMessage("Simples Assim")
prod$send(msg)
conn$close()

我可以为 Amazon-SQS 妥协,因为我主要限于 Amazon MQ 服务。 如果没有可供我导入的库,我可以采用什么替代方法?

工作:

library("Rjms")
attach(javaImport(c("java.lang", "javax.jms", "org.apache.activemq")))
connFactory <- new(ActiveMQConnectionFactory)
conn <- connFactory$createConnection()
sess <- conn$createSession(FALSE, Session$AUTO_ACKNOWLEDGE)
dest <- sess$createQueue("SampleQueue")
cons <- sess$createConsumer(dest)
conn$start()
msg <- cons$receive()
System$out$println(msg)
conn$close()