Get RetryCount from BusinessOperation for monitoring purposes
Hello everyone. I'm currently working on how to implement a solution that makes it possible to include within the response of a BusinessOperation the "RetryCount" for each message.
For Example, we have this message that was retried twice:.png)
This is an HL7.message going through a specific business operation, we did not create a custom one: we used the default implementation EnsLib.HL7.Operation.TCPOperation. This operation should automatically handle retries (infinetely waiting on a response). I found out each Business Operation has this property :.png)
Can we retrieve this information AFTER the message has been handled? Is there any way to get this counter after the business operation is done working on a specific message?
I'm thinking we may need to create a custom business operation extending the default one EnsLib.HL7.Operation.TCPOperation, and we would need to wrap up the RetryCount inside the response. What do you think?
Comments
I'm thinking we may need to create a custom business operation extending the default one EnsLib.HL7.Operation.TCPOperation, and we would need to wrap up the RetryCount inside the response. What do you think?
I think you are correct. RetryCount is a runtime property, I don't think it's stored anywhere longterm, so you need a custom BO to save it. There are some workarounds you can attempt:
- Query event log
- Get current retry count using: $$$GetJobMonitor(tConfigName,$$$SystemName_":"_$Job,$$$eMonitorRetry)
But I would definitely recommend subclassing.