[英]Solrj server in EJB 3 container
使用JBoss EAP 6.1和Solr 4.5
人們如何與EJB容器中的Solr(通過Solrj)進行交互? 大多數人是否創建包裝SolrServer實現的托管bean? 有多少個實例或單例(排隊提交等)? 還考慮使用嵌入式服務器,它增加了線程安全性注意事項。
JCA適配器有沒有?
最好的方法是在JPA層中使用HibernateSearch。
您將需要實現自己的Solr Worker后端,您可以在此處找到示例: HibernateSearchSolrWorkerBackend
在您的solr worker后端中,將使用SolrJ,並用HibernateSearch注釋對實體進行注釋后,在提交每個事務后,它將自動與solr交互。 因此,您的所有索引將始終是最新的。
您可以看一下整個示例,以了解如何實現該示例hibernate_search_solr_integration
在以上項目中,您將找到完整的spring示例。 如果只想使用平面JPA對象,則需要在persistence.xml中添加類似的內容
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="espn-mediacatalog">
<jta-data-source>java:jboss/datasources/your-datasourceDS</jta-data-source>
<properties>
<property name="hibernate.search.default.worker.backend" value="com.xxx.xxproject.jpa.solr.HibernateSearchSolrWorkerBackend" />
<property name="hibernate.search.default.directory_provider" value="org.hibernate.search.store.impl.RAMDirectoryProvider" />
</properties>
</persistence-unit>
干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.