Registry maintenance and performance

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?

  • The first way you can speed things up is with the brute force method. Stop your server, and completely clear your jUDDI database. On startup of the ESB, the tables and default data of the jUDDI database will be recreated and only the default endpoints and your current service endpoints will be registered. This will remove all duplicate and extraneous EPRs and lookup will be faster.
  • The other method is a little easier. If you are using the 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.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset