2013-01-03 20 views
0

我正在調查Infinispan以加速我的應用程序。即開即用配置的工作速度比保存到SQL Server的速度慢。我知道Hibernate搜索配置來調整Lucene索引性能,但我想從刪除反射開始。我知道Hibernate搜索使用它將對象轉換爲索引文檔。問題是,我找不到一種方法,我怎麼能避免這種情況。Infinispan查詢無反射

+0

你能澄清你的問題嗎?爲什麼你認爲反射是瓶頸?你有沒有做一些分析?沒有辦法避免反思。在某個階段,實體需要將對象映射到索引「世界」。即使只使用Hibernate ORM,也不能避免反射。 – Hardy

+0

反射不再是一個性能問題,至少目前Hibernate和Hibernate Search使用的方法非常高效。如果你發現你的瓶頸,然而,建議非常歡迎! – Sanne

+0

我不認爲反射速度與直接方法調用一樣快。我正在尋找一種方法來提供基於直接getter調用的自己的對象到文檔映射。 – Denis

回答

2

您可以使用@ClassBridge來定義您自己的映射;您的自定義ClassBridge實現將交給對象實例,您可以通過訪問直接字段或調用getter直接從它構建Lucene文檔。

可以在這裏找到完整的例子:

http://docs.jboss.org/hibernate/search/4.2/reference/en-US/html_single/#d0e4102

不過,我非常有信心反思是不是你的性能問題。配置或測量方式可能有問題,我建議使用探查器來縮小問題範圍。