Compass & Hibernate: предотвращение раздувания прокси-объектов во время индексации - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь не допустить, чтобы индексирование компаса (2.2) увеличивало ленивые ссылки в спящем режиме.

Я знаю, что есть настройка для этого

compass.marshalling.hibernate.initializeProxy

Но после большой отладки источников компаса я обнаружил, что этот параметр даже не передается HibernateProxyExtractor.

Я применяю настройку в моей конфигурации XML следующим образом, это правильно?

<bean id="compass" class="org.compass.spring.LocalCompassBean">
    <!-- .... -->
    <property name="compassSettings">
        <prop key="compass.marshalling.hibernate.initializeProxy">false</prop>
        <!-- ... -->
    </property>
</bean>

Во время отладки я обнаружил, что DefaultConverterLookup создает и настраивает ClassMappingConverter (который, в свою очередь, настраивает ProyExtractorHelper, который, в свою очередь, настраивает HibernateProxyExtractor). Однако параметры конфигурации передаются в ClassMappingConverter, только если они имеют префикс «compass.converter» (CompassEnvironment.Converter.PREFIX), что не относится к compass.marshalling.hibernate.initializeProxy

Примечание: я совсем не эксперт по Compass / Lucene, поэтому, возможно, я просто не понимаю, как правильно это настроить.

...