Hi Koen,
is it possible that it's initializing with the wrong version of Hibernate ORM ?
Dimitry below mentioned versions hibernate-core 4.3.1 and
hibernate-search 5.0.1; these are getting a bit old now but they work
fine together. Is it possible the jboss-tools plugin could use a
different hibernate-core version at runtime? Not all combinations are
valid.
Thanks,
Sanne
On 17 July 2015 at 16:36, Koen Aers <koen.aers(a)gmail.com> wrote:
Hey Sanne and Dmitry,
I am trying to wrap my head around this problem and I found that Hibernate
ORM can see the Hibernate Search services. “SearchFactoryReference” is
instantiated while building the services. However, its “initialize” method
is never called. AFAICS this is the responsibility of
“HibernateSearchSessionFactoryObserver”. I will look further into it but
feel free to give pointers if you know any.
Cheers,
Koen
Op 15-jul.-2015, om 13:35 heeft Sanne Grinovero <sanne(a)hibernate.org> het
volgende geschreven:
Hi Koen,
this is a classloader issue for which we'll need your help. It's a
very simple issue: Hibernate ORM needs to see the services exposed
from Hibernate Search when the SessionFactory is started, so that it
triggers the correct integrations.
My guess is that some metadata needs to be changed in the Hibernate
ORM plugin to allow loading from the Search module. Is that something
you could help Dmitry with?
thanks,
Sanne
On 6 July 2015 at 14:29, Dmitry Bocharov <bdshadow(a)gmail.com> wrote:
Hello, everyone!
I'd like to discuss with you the problem. I'm writing a hibernate-search
eclipse plugin and currently I have a problem with generating indexes.
I try to generate indexes in HSearchServiceProxy class
<
https://github.com/Sanne/org.jboss.tools.hibernate.search/blob/master/hse...;.
The code runs till the end fine. I was able to debug it. However, nothing
is created.
I have a user project. In hibernate.cfg.xml there is:
* <property
name="hibernate.search.default.directory_provider">filesystem</property>*
* <property
name="hibernate.search.default.indexBase">D:\Spring\HibernateWS\gen_indexes</property>*
Also there is
* <dependency>*
* <groupId>org.hibernate</groupId>*
* <artifactId>hibernate-search-orm</artifactId>*
* <version>5.0.1.Final</version>*
* </dependency>*
in the *pom.xml* in order to annotate entities to index them:
*@Entity*
*@Indexed*
*public class Person implements java.io.Serializable {*
* @Id*
* @GeneratedValue*
* private int id;*
* @Field(analyze=Analyze.YES, store=Store.NO)*
* private String login;*
When i try to create indexes as a user - it works fine. However, when I try
to do it from my plugin nothing happens. I debugged and found that the call
stack is the following: MassIndexerImpl.startAndWait() ->
FullTextSessionImpl.getSearchIntegrator() ->
ContextHelper.getSearchintegratorBySFI(SessionFactoryImplementor sfi) ->
SearchFactoryReference.getSearchIntegrator(). And here
<
https://github.com/hibernate/hibernate-search/blob/c06e4fe5fbc6b5a09195f4...
it
creates and exception in getSearchIntegrator() because
this.extendedIntegrator returns null.
As I understand plugin classloader is different from user classloader. So
that can be a problem. In my plugin I have hibernate-core 4.3.1 (from
jbosstolls-hibernate) and hibernate-search (5.0.1 as a fragment of this
jbosstolls-hibernate plugin) in the classpath. I found that versions are
compatible, so it's not a problem.
So the only problem, as I think, are different classloaders.
Koen Aers and Sanne Grinovero are in touch with the problem. So If anyone
else has any thoughts, it would be great to see =)
Thanks in advance!
Dmitry
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev