[seam-dev] Re: Hibernate search 3.1.1.GA w/ seam
Sanne Grinovero
sanne.grinovero at gmail.com
Sat Jun 27 11:45:46 EDT 2009
I've been stepping through the blog example with a debugger to look
into JBSEAM-4257;
the transaction is fine but it appears that it doesn't get to commit
after the method invocation.
If I convert the component to a @Stateful bean *and* change the "@In
FullTextEntityManager" into
a "@PersistenceContext EntityManager" it does work: the transaction is
committed and the test
succeeds.
If I only convert the pojo into a Stateful bean and keep using "@In"
to inject entitymanager, it doesn't
inject and the method is called having null EntityManager -> NPE.
The dvdstore example is not affected by this, as the indexer
implementation of dvdstore
is using a @Stateful bean and @PersistenceContext already.
The problem is the @Create annotated method combined with @Startup and
@Scope(ScopeType.APPLICATION):
if I remove @Startup and have the method called before the first
search (I experimented having it injected with create=true in the
search
service) the behaviour is correct: the transaction is committed, the
index is updated and the search results are fine.
I've opened JBSEAM-4278 for this; should I open a second one for the
missing injections in EJB3 stateful beans?
I'm not sure if it the same issue, I mentioned it in the description.
Sanne
2009/6/26 Emmanuel Bernard <emmanuel at hibernate.org>:
> That's a problem. We need to understand why no tx is enlisted from an
> hibernate pov. Looks like a config bug or something more severe on the
> hibernate side.
>
> On 26 juin 2009, at 01:09, Sanne Grinovero <sanne.grinovero at gmail.com>
> wrote:
>
>> Hi Norman, Emmanuel,
>> I think it was working for Norman in JBoss because it somehow used the
>> existing index, as the blog example was not doing cleanup;
>> removing the index I verified it behaves the same when deployed or with
>> testNG.
>>
>> I've attached a patch here to remove existing data from the index at
>> startup (purgeAll) and making sure the new data
>> is flushed to the index (entityManager.flushToIndexes();).
>>
>> This makes the test succeed, but I'm unsure about this being the
>> proper fix. Emmanuel, WDYT? I was not expecting
>> to have the flushToIndexes being mandatory... it appears there is no
>> transaction committed by Seam?
>> The dvdstore is using a similar indexing routine, and it appears to be
>> working fine even withouth the flush.
>>
>> greetings,
>> Sanne
>>
>>
>> 2009/6/24 Sanne Grinovero <sanne.grinovero at gmail.com>:
>>>
>>> Hello,
>>> I can look into this on friday 26, is that a good time?
>>>
>>> Sanne
>>>
>>> 2009/6/24 Emmanuel Bernard <emmanuel at hibernate.org>:
>>>>
>>>> My machine crashed yesterday so I won't be able to look into that.
>>>> Sanne probably can help as he has done the latest Hibernate migration in
>>>> Seam.
>>>> Or maybe Hardy.
>>>>
>>>> Emmanuel
>>>>
>>>> On Jun 23, 2009, at 06:57, Emmanuel Bernard wrote:
>>>>
>>>>> Damn I'm on the road this week.
>>>>> Can you give me the SVN url for me to reproduce?
>>>>>
>>>>> That must be a dump thing.
>>>>>
>>>>> On Jun 23, 2009, at 02:59, Norman Richards wrote:
>>>>>
>>>>>> We've upgraded Hibernate search for Seam 2.2, but we're getting one
>>>>>> small
>>>>>> issue with it when running unit tests with the blog example:
>>>>>>
>>>>>> https://jira.jboss.org/jira/browse/JBSEAM-4257
>>>>>>
>>>>>> I tracked it down to being an issue with the index directory not
>>>>>> getting
>>>>>> correctly populated. If I copy the index directory from the blog
>>>>>> example
>>>>>> running in jboss, everything works fine. Any ideas why the index
>>>>>> wouldn't
>>>>>> be created correctly?
>>>>>>
>>>>>> Specifically, what is created during unit tests is:
>>>>>>
>>>>>> $ ls -al domain.BlogEntry/
>>>>>> total 16
>>>>>> drwxr-xr-x 4 orb staff 136 Jun 22 19:19 .
>>>>>> drwxr-xr-x 3 orb staff 102 Jun 22 19:19 ..
>>>>>> -rw-r--r-- 1 orb staff 20 Jun 22 19:19 segments.gen
>>>>>> -rw-r--r-- 1 orb staff 28 Jun 22 19:19 segments_1
>>>>>>
>>>>>>
>>>>>> whereas when running in AS, I get:
>>>>>>
>>>>>> burrito:blogindexes orb$ ls -al domain.BlogEntry
>>>>>> total 168
>>>>>> drwxr-xr-x 19 orb staff 646 Jun 9 14:32 .
>>>>>> drwxr-xr-x 3 orb staff 102 Jun 3 15:19 ..
>>>>>> -rw-r--r-- 1 root staff 6027 Jun 9 13:15 _2s.cfs
>>>>>> -rw-r--r-- 1 root staff 9 Jun 9 13:52 _2s_3.del
>>>>>> -rw-r--r-- 1 root staff 4818 Jun 9 13:15 _2t.cfs
>>>>>> -rw-r--r-- 1 root staff 9 Jun 9 13:52 _2t_1.del
>>>>>> -rw-r--r-- 1 root staff 1121 Jun 9 13:15 _2u.cfs
>>>>>> -rw-r--r-- 1 root staff 9 Jun 9 13:52 _2u_1.del
>>>>>> -rw-r--r-- 1 root staff 976 Jun 9 13:52 _2v.cfs
>>>>>> -rw-r--r-- 1 orb staff 9 Jun 9 14:32 _2v_1.del
>>>>>> -rw-r--r-- 1 root staff 4818 Jun 9 13:52 _2w.cfs
>>>>>> -rw-r--r-- 1 orb staff 9 Jun 9 14:32 _2w_1.del
>>>>>> -rw-r--r-- 1 root staff 1121 Jun 9 13:52 _2x.cfs
>>>>>> -rw-r--r-- 1 orb staff 9 Jun 9 14:32 _2x_1.del
>>>>>> -rw-r--r-- 1 orb staff 976 Jun 9 14:32 _2y.cfs
>>>>>> -rw-r--r-- 1 orb staff 4818 Jun 9 14:32 _2z.cfs
>>>>>> -rw-r--r-- 1 orb staff 1121 Jun 9 14:32 _30.cfs
>>>>>> -rw-r--r-- 1 orb staff 20 Jun 9 14:32 segments.gen
>>>>>> -rw-r--r-- 1 orb staff 254 Jun 9 14:32 segments_8r
>>>>>>
>>>>>> If you can even give me some idea what code to look at, it would be a
>>>>>> great help. Thanks.
>>>>>>
>>>>>
>>>>
>>>>
>>>
>> <examples-blog.diff>
>
More information about the seam-dev
mailing list