我找不到任何对R的现代版本有效且不过时的代码。一些GitHub存储库导入工作(添加在下面),但没有一个是专门针对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服务。如果没有可供我导入的库,我还能采取什么替代方法?
发布于 2020-07-08 03:18:42
成功:
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()https://stackoverflow.com/questions/62679571
复制相似问题