2012-03-02 4 views
0

JRuby Rails로 ehcache를 설정하려고합니다. ehcache에 Java 객체를 저장하면 문제가 없지만 검색 할 때 문제가 발생합니다. ehcache가 반환하는 객체를 추적하면 다음과 같이 표시됩니다.ehcache with JRuby Rails

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

이제 어떻게 값에 액세스 할 수 있습니까?

나는 ...이 밖으로 추적되는 자바 객체 또는 루비 객체인지 정말 모르겠어요

코드 :

데프 store_object (OBJ) EHCACHE.put ("OBJ" obj) end

def get_object EHCACHE.get ("obj") # 위의 객체를 제공합니다. 해당 값만 반환해야합니다. end

답변

1

Ehcache.get 메서드는 값과 일부 메타 데이터가 포함 된 Ehcache Element 개체를 반환합니다. 실제 값을 얻으려면 두 가지 옵션이 있습니다.

하나는 Ehcache.get()이 반환 한 Element 객체에서 getValue() 메서드를 호출 할 수 있다는 것입니다.

EHCACHE.get("obj").value 

둘째, 직접 값을 얻기 위해 배열 액세스 표기법을 사용할 수 있습니다 대신 Ehcache.get() 메소드를 사용하는 : JRuby를 당신이 원하는 경우 단순히 "값"이 메소드를 호출 할 수 있습니다. JRuby 바인딩에서 Ehcache API에 추가 한 Ruby 마법의 일부입니다.

EHCACHE["obj"] # returns the value directly 

희망이 있습니다.

당신은 JRuby를 함께으로 Ehcache를 사용하는 방법에 대한 자세한 내용은 내 블로그 게시물을 읽을 수 있습니다 http://jvoegele.blogspot.com/2010/11/ehcache-for-jruby-and-rails-now-with.html

+0

들으 제이슨, 나는이 순간에 귀하의 블로그를 읽을 수 있습니다. 그 사이에 세션 저장소로 EHCACHE를 사용할 수 있습니까? 즉, EHCACHE에 항목을 추가하면 응용 프로그램의 범위 또는 현재 세션의 범위에 추가됩니까? –

+0

멋진 블로그. 나는 어제 그것을 찾지 못했습니다. 고마워. –