2014-12-04 85 views
1

我安裝了RRjms包,因爲我想發送消息給已經爲我設置的ActiveMQ消息隊列(稱爲test)。由於Rjms不在CRAN上,我使用ActiveMQ package for R中的說明從github安裝它。Rjms&ActiveMQ:初始化記錄器時的例外

但是,我注意到了兩件事。當安裝Rjmsjars時,我收到一條警告,說No man pages found in package ‘Rjmsjars’。我認爲這可能是無關的,但我想包括這個以防萬一。

library(devtools) 
install_github("cran/Rjmsjars") 
install_github("smschauhan/Rjms/src/main/resources/Rjms")  

我加載Rjms後,我試圖初始化一個記錄器使用下面的代碼:

library(Rjmsjars) 
library(Rjms) 
logger <- initialize.logger('tcp://app1.xxx.xxxxx.net:61616','Q','test') 

然而,當我嘗試這樣做,我得到以下錯誤:

Error in .jnew("org/math/r/activemq/logger/Producer", url, type, name) : 
     java.lang.ClassNotFoundException 

由於錯誤信息不是很清楚,所以我不確定如何解決。對發生什麼事情有任何想法?

+0

另外,有沒有公開的ActiveMQ記錄器在那裏,所以我可以設置一個可重現的ex爲你們充足? – Bryan 2014-12-04 17:26:47

回答

0

我最終通過wget tarballs而不是通過github安裝包,並沒有遇到同樣的錯誤。

從命令行:

wget http://cran.r-project.org/src/contrib/Archive/Rjmsjars/Rjmsjars_0.0.1.tar.gz 
wget http://cran.r-project.org/src/contrib/Archive/Rjms/Rjms_0.0.5.tar.gz 

然後將R交互式終端內:

install.packages('~/Rjmsjars_0.0.1.tar.gz', repos = NULL, type ="source") 
install.packages('~/Rjms_0.0.5.tar.gz', repos = NULL, type ="source") 

當裝載包,我能夠初始化一個記錄器和發送一個消息,而無需Java異常:

library(Rjms) 
logger <- initialize.logger('tcp://xxx.xx:61616', 'Q', "test") 
send.status<-to.logger(logger, "{xxx: xxx, xxx: .xx}") 
send.status 
[1] TRUE