Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X
I am using Windchill PDMLink Release 13.0 and Datecode with CPS 13.0.1.0
Hello,
In a Windchill customization i have a piece of legacy code that i find doubtful:
transaction.start();
int rowCount = PersistentObjectManager.getPom().execute(deleteBatchSpec, new WTHashSet(), false);
transaction.commit();
The DeleteBatchSpec is an SQL query targeting the lines to delete.
The problem is, in the code i'm wondering about, this is not a batch execution, it is used at normal runtime. So my question is: how does this piece of code behave in a clustered environment? Is the cluster cache updated somehow, or is this code doing something really wrong?
Regards,
Solved! Go to Solution.
isodius,
The DeleteBatchSpec allows for deleting multiple rows from the database. In this way it is performing a "batch" operation. If the objects being deleted are cached in a special way (e.g. recently used wt.access.PolicyAcl stored in a wt.access.AclCache which extends wt.cache.CacheManager) then that cache needs to also be maintained to remove those entries. Each method server has its own cache and changes are communicated to all method servers by the CacheManager.
Hi @isodius
Thank you for your post.
Your post appears well documented but has not yet received any response. I am replying to raise awareness. Hopefully, another community member will be able to help.
Also, feel free to add any additional information you think might be relevant. It sometimes helps to have screenshots to better understand what you are trying to do.
Best regards,
isodius,
The DeleteBatchSpec allows for deleting multiple rows from the database. In this way it is performing a "batch" operation. If the objects being deleted are cached in a special way (e.g. recently used wt.access.PolicyAcl stored in a wt.access.AclCache which extends wt.cache.CacheManager) then that cache needs to also be maintained to remove those entries. Each method server has its own cache and changes are communicated to all method servers by the CacheManager.
Hi @isodius,
I wanted to see if you got the help you needed.
If so, please mark the appropriate reply as the Accepted Solution or please feel free to detail in a reply what has helped you and mark it as the Accepted Solution. It will help other members who may have the same question.
Of course, if you have more to share on your issue, please pursue the conversation.
Thanks,