Assuming you are using ODMG...

The problem was with the implicit locking mechanism in the ODMG implementation. It was not properly detecting collection proxies so it would iterate over the collection (loading it) and lock every object before even returning from the OQLQuery#execute() call.

I have fixed this in cvs so that it will register itself as a materialization listener on any implementation of CollectionProxy which has not yet been loaded, and only bind the contents of the collection to the transaction if the collection is loaded during the transaction.

If you are using the default proxies, you should be fine if you pull the version from CVS, or use the release coming up (if Thomas D. retracts his vote to go to 1.0 final instead of an rc ;-) this weekend.

-Brian

On Jun 11, 2004, at 11:45 AM, Thomas Dudziak wrote:

On Fri, 11 Jun 2004 [EMAIL PROTECTED] wrote:

I looked at the URL you sent me, but I dont know enough the internals of
OJB to understand the message. I went a little further : I tried to get the
Persistence Broker from the transaction and to execute a good old OJB
QueryByCriteria : the late binding works.

Yup, the problem is with ODMG, not with the PB Api.

Besides that, I am not sure that the problem is only with the collection
proxy. I have also tried with single-object dynamic proxies and the same
result (returns already materialized proxies).

They should work (might depend on how old the OJB version is that you're using though). As I said, please try the latest from CVS.

Wish you a happy week-end

Same for you :-)

Tom


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to