What can happen with a hard crash? As the ESB shuts down, the ESB unregisters endpoint references and services. When the ESB has finally shut down, it will have removed all ESB-related services and endpoints—therefore if you hard crash your server, your service will leave behind dead EPRs—EPRs that represent an endpoint from a previous session, that are no longer available.
One hard crash alone probably won't have much effect, but if you allow your system to hard crash a great deal, you'll continue to accrue dead EPRs. These extra EPRs can have a visible effect on your runtime performance. Your startup times will increase a great deal, the time that it takes to call a service with ServiceInvoker
will increase—basically any EPR lookup will become slower and slower.
How can you stop these EPRs slowing down your ESB instance?
ServiceInvoker
, you can set the org.jboss.soa.esb.failure.detect.removeDeadEPR
property, and when a stale EPR is selected, it will be removed. Note that there is a risk in using this property. If your service is slow to respond and times out, its EPR may be removed.