i use the following code to change the mapping:
MetadataManager mm = MetadataManager.getInstance();
// tell the manager to use per thread mode
mm.setEnablePerThreadChanges(true);
// e.g we get a coppy of the global repository
DescriptorRepository dr = mm.copyOfGlobalRepository();
// now we can manipulate the metadata of the copy
... modify mappping
// set the changed repository for this thread
mm.setDescriptor(dr);
when i change the mapping and then create a PersistenceBroker and then
build a query and query, i am in trouble, 9MB per iteration disappears.
when i change the line :
DescriptorRepository dr = mm.copyOfGlobalRepository();
into
DescriptorRepository dr = mm.getRepository();
which means, i'm using the global repository (of which
a reference will be stores as ThreadLocal), at least there are
no leaks and 300 iterations (change mapping, create broker, build query
and query) are executed within 15 seconds!
again, only creating a broker after changing the mapping is no problem,
it's after the execution of a query when the trouble starts.
i do use my own wrappers around OJB so i'm checking this code as well,
but so far, i have not come up with anything.
Roger Janssen
*************************************************************************
The information contained in this communication is confidential and is
intended solely for the use of the individual or entity to whom it is
addressed.You should not copy, disclose or distribute this communication
without the authority of iBanx bv. iBanx bv is neither liable for
the proper and complete transmission of the information has been maintained
nor that the communication is free of viruses, interceptions or interference.
If you are not the intended recipient of this communication please return
the communication to the sender and delete and destroy all copies.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]