2014-04-04 116 views
0

我開始與GridGain玩(祝賀開源吧!)GridGain日誌配置問題

我想在另一個應用程序中嵌入它,爲此我需要使用JCL記錄,而不是Log4j。

我的一段簡單的代碼如下所示(是的,這是常規的代碼):

def cfg = new GridConfiguration() 
    cfg.setGridLogger(new GridJclLogger()) 
    cfg.setLifecycleBeans(new DaemonLifecycleBean()) 
    def grid = GridGain.start(cfg); 

,但我得到下面的異常。如果我配置了JCL日誌記錄,爲什麼它會抱怨缺少Log4j?

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/varia/LevelRangeFilter 
    at org.gridgain.grid.kernal.GridKernal.createNodeAttributes(GridKernal.java:1187) ~[gridgain-platform-6.0.2.jar:na] 
    at org.gridgain.grid.kernal.GridKernal.start(GridKernal.java:608) ~[gridgain-platform-6.0.2.jar:na] 
    at org.gridgain.grid.kernal.GridGainEx$GridNamedInstance.start0(GridGainEx.java:1828) ~[gridgain-platform-6.0.2.jar:na] 
    ... 21 common frames omitted 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.varia.LevelRangeFilter 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51] 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51] 
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51] 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51] 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51] 
+1

這個問題應該真的有JCL標記(大型機腳本語言作業控制語言)嗎? –

+0

這是一個錯誤。刪除。 tx – pditommaso

+0

@Paulecci這種依賴似乎在GridGain 6.1版本中可以下載。 – Dmitriy

回答

1

當前GridGain對log4j具有顯式依賴性,因此您需要在節點類路徑中保留log4j類。

在即將發佈的版本中將刪除此依賴關係,那麼您將能夠使用JCL記錄器運行該節點,而無需在類路徑中使用log4j。

+0

使用版本6.1.0解決 – pditommaso