I have used findListIteratorByCondition successfully in the past to process
large files with no transaction in place.
By putting a TransactionUtil.begin/end around the
findListIteratorByCondition and a second TransactionUtil.begin/end around
the actual writing of the data.
This all worked just fine. Now, with 12.04 I get a (ERROR: portal "C_xxx"
does not exist) after processing about 500 or so records (not sure of the
actual number) on the iterator.next() call.
If I remove the begin/end around the findListIteratorByCondition, everything
runs fine. The only problem is that I get an exception report (no actual
exception) from GenericDelegator that sez (ERROR: Cannot do a find that
returns an EntityListIterator with no transaction in place.)
This is not a thrown exception, only one that is displayed in the log.
So, I have two questions.
1. Why is it dangerous enough to not have a transaction in place to print
this exception in the log but not throw an actual exception.
2. Given my need above (where I might spend an hour processing huge amounts
of data), what is the recommended way to use findListIteratorByCondition and
only have a transaction around the actual commits?
Thanks in Advance
Skip
large files with no transaction in place.
By putting a TransactionUtil.begin/end around the
findListIteratorByCondition and a second TransactionUtil.begin/end around
the actual writing of the data.
This all worked just fine. Now, with 12.04 I get a (ERROR: portal "C_xxx"
does not exist) after processing about 500 or so records (not sure of the
actual number) on the iterator.next() call.
If I remove the begin/end around the findListIteratorByCondition, everything
runs fine. The only problem is that I get an exception report (no actual
exception) from GenericDelegator that sez (ERROR: Cannot do a find that
returns an EntityListIterator with no transaction in place.)
This is not a thrown exception, only one that is displayed in the log.
So, I have two questions.
1. Why is it dangerous enough to not have a transaction in place to print
this exception in the log but not throw an actual exception.
2. Given my need above (where I might spend an hour processing huge amounts
of data), what is the recommended way to use findListIteratorByCondition and
only have a transaction around the actual commits?
Thanks in Advance
Skip