[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: PTP messaging sessions, and subtle difference between DELETE OBJECT and RUN deleteSessi

Status
Not open for further replies.
D

dbeavon

Guest
Its too bad that DELETE OBJECT doesn't do the clean-up. According to the documentation (at https://docs.progress.com/bundle/abl-reference/page/DELETE-OBJECT-statement.html ) it sounds like the intention of that method was that it would act like a destructor for a variety of different types of things. (widget, a procedure, a server, a socket, or an instance of a class). The docs specifically say that Deleting the object causes all allocated resources associated with the object to be returned to the system (except when otherwise noted). To me that would be nice if this syntax did the work to deallocate resources related to jms/ptpsession. I think it is very convenient when we have a common "delete" pattern that is applied to all types of handles, and persistent procedures. It avoids the trouble of having to learn and invoke special-purpose destructor method(s) that might be associated with every possible type of handle or persistent procedure. Based on the docs, I suspect that the original vision for "DELETE OBJECT" was that it would simply "do the right thing". But the jms session handle doesn't seem to live up to that vision. It appears that OpenEdge.Core.WidgetHandle doesn't really "know" how to properly clean up a ptpsession either. I was looking for a class wrapper that already knows about the jms messaging stuff ... so I wouldn't have to roll my own. We are currently dealing with a bug in the "brokerconnect" adapter that happens on rare occasions ... and it would be nice if I could rely on a standard destructor pattern that might clean up all our messaging resources (so tech support doesn't have to be suspicious of my custom ABL).

Continue reading...
 
Status
Not open for further replies.
Top