首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到R上的ActiveMQ (或SQS)

连接到R上的ActiveMQ (或SQS)
EN

Stack Overflow用户
提问于 2020-07-01 22:51:32
回答 1查看 63关注 0票数 0

我找不到任何对R的现代版本有效且不过时的代码。一些GitHub存储库导入工作(添加在下面),但没有一个是专门针对ActiveMQ的。

代码语言:javascript
复制
remotes::install_github("cloudyr/aws.s3")
​remotes::install_github("Azure/AzureQstor")
​install.packages("rzmq")​
remotes::install_github("lecardozo/rworker")

我需要它在R版本3.6.3上工作。我能让它工作的最接近的方法是通过Apache的引用代码:

代码语言:javascript
复制
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服务。如果没有可供我导入的库,我还能采取什么替代方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-08 03:18:42

成功:

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62679571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档