You are correct that the logic caching code was never merged. Ashley,
our tester, is changing the birthdate in the webapp and then generating
a PSF form that calls the birthdate rule. When I trace through, it goes
down into the PersonDatasource and calls criteria.list but does NOT get
the updated birthdate. The birthdate change and rule execution should
definitely be in separate transactions as far as I can tell.
Thanks,
Tammy
On 10/20/2011 11:07 AM, Darius Jazayeri wrote:
I don't know why hibernate would be caching this of all things.
Also, I thought that the logic caching code was never merged in.
Tammy, is all of this happening in a single transaction and/or rule
execution? Or are you changing the birthdate and /then/ executing a rule?
-Darius
On Thu, Oct 20, 2011 at 3:58 AM, Ben Wolfe <[email protected]
<mailto:[email protected]>> wrote:
How long is your hibernate cache set to? I think it can be
changed with the ehcache.xml file.
My concern is why the logic cache is /not/ being hit. Or is the
edit clearing that cache key properly and thats why its hitting
the db again?
Other than that, I'm out of ideas. Any other hibernate
know-it-alls listening in?
Ben
On Wed, Oct 19, 2011 at 5:28 PM, Tammy Dugan <[email protected]
<mailto:[email protected]>> wrote:
Yes. The point is that I DON'T want it to cache the birthdate.
I want it to pull the new one.
Thanks,
Tammy
On 10/19/2011 10:08 AM, Ben Wolfe wrote:
Are you using this patch on the logic module?
https://tickets.openmrs.org/browse/LOGIC-94
Apparently the token service wasn't really using the cache...
Ben
On Wed, Oct 19, 2011 at 4:26 PM, Tammy Dugan
<[email protected] <mailto:[email protected]>> wrote:
If we update a person's birthdate in the webapp and run
the following:
context.read(patient.getPatientId(),
context.getLogicDataSource("person"),
"BIRTHDATE").toDatetime();
We get the old birthdate instead of the new one. I
drilled down into the logic code and the criteria.list is
actually getting executed so the issue is not that the
rule result is cached. The issue seems to be that
hibernate is caching the birthdate and not updating it
with the new value when criteria.list is called. Here is
the criteria getting executed:
CriteriaImpl(org.openmrs.Person:this[Subcriteria(names:name)][personId
in (28039)])
It is line 108 of HibernateLogicPersonDAO.
Any ideas?
Thanks,
Tammy Dugan
--
Tammy Dugan
CHIRDL Technical Lead
Children's Health Services Research
IU School of Medicine
_________________________________________
To unsubscribe from OpenMRS Developers' mailing list,
send an e-mail to [email protected]
<mailto:[email protected]> with "SIGNOFF
openmrs-devel-l" in the body (not the subject) of your
e-mail.
[mailto:[email protected]
<mailto:[email protected]>?body=SIGNOFF%20openmrs-devel-l]
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l>
from OpenMRS Developers' mailing list
--
Tammy Dugan
CHIRDL Technical Lead
Children's Health Services Research
IU School of Medicine
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l>
from OpenMRS Developers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from
OpenMRS Developers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l>
from OpenMRS Developers' mailing list
--
Tammy Dugan
CHIRDL Technical Lead
Children's Health Services Research
IU School of Medicine
_________________________________________
To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to
[email protected] with "SIGNOFF openmrs-devel-l" in the body (not
the subject) of your e-mail.
[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]