2012-03-02 74 views
0

我試圖用JRuby Rails設置ehcache。在ehcache中存儲Java對象的工作正常,但檢索它給我一些麻煩。如果我追蹤ehcache返回的對象,我可以得到:ehcache與JRuby Rails

[ key = mipsObject, [email protected], version=1, hitCount=1, 
    CreationTime = 1330679995356, LastAccessTime = 1330679995357 ] 

現在,我該如何訪問該值?

我真的不知道這是否是被跟蹤了一個Java對象或Ruby對象...

代碼:

高清store_object(OBJ) EHCACHE.put( 「目標文件」, OBJ) 端

DEF的get_object EHCACHE.get( 「OBJ」)#gives我上述目的。它應該只返回它的值 結束

回答

1

Ehcache.get方法返回一個Ehcache元素對象,其中包含值以及一些元數據。如果你想獲得實際的價值,你有兩個選擇。

一個是你可以調用Ehcache.get()返回的Element對象上的getValue()方法。 JRuby中,您可以調用這個方法簡單的「價值」,如果你喜歡:

EHCACHE.get("obj").value 

二,而不是使用Ehcache.get()方法,你可以使用數組訪問符號直接獲得的價值。這是一個有點紅寶石魔力,我們加入了Ehcache API使用JRuby綁定:

EHCACHE["obj"] # returns the value directly 

希望有所幫助。

你可以閱讀我的博客文章的詳細信息,使用的Ehcache使用JRuby: http://jvoegele.blogspot.com/2010/11/ehcache-for-jruby-and-rails-now-with.html

+0

THX傑森,我看了你的博客在一個時刻。與此同時,我可以使用EHCACHE作爲會話存儲。換句話說,如果我爲EHCACHE添加了一些東西,它會添加到應用程序的範圍還是當前會話的範圍中? – 2012-03-03 08:59:48

+0

偉大的博客。可惜我昨天沒有找到它。謝謝。 – 2012-03-03 10:10:44