簡體   English   中英

EJB 3容器中的Solrj服務器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM