1 2 Previous Next 17 Replies Latest reply on Feb 17, 2005 11:59 AM by tom.elrod Go to original post
      • 15. Re: Callbacks
        mazz

        A couple of comments/suggestions:

        1) You should think about purging older callbacks first, as opposed to new ones. You mention that if you have Callback A, B, C in memory. If D comes in and it must be persisted, but it can't (via NullPersister), its gets thrown away.

        That means the newest callbacks are getting thrown away. Would it be better to throw away the oldest callback (presumably less important then the newest callback)?

        Just a thought. Not sure how you would do it though - its much easier doing it the current way - that is just throw away the newest one (by simply ignoring it - via NullPersister).

        2) How do you purge the persistent store? I didn't see anything that describes what happens if the client never comes back for its callbacks. One scenario I can think of is if the client and server are on the same box and the box goes down. The box comes up, the server starts, but the client does not restart. Its dead. How do you clean up the orphaned persistent store?

        • 16. Re: Callbacks

          I wanted the invoker handler generating the callback to know that it got thrown away. So when they send D, will get an exception thrown back (synchronously). They can either try to deal with it or throw it away. If throw away A and keep D, woudl be more difficult for the invoker handler to have any context about the callback being thrown away (A), even if it is included in the exception thrown.

          No way to purge other than deleting from disk currently. Guess will add a method for this, but won't be used until add code to identify when callback client is dead (or removed).

          • 17. Re: Callbacks

            Added method to purge. Will be a while before have code for detecting crashed clients.

            1 2 Previous Next