Monday, 3 November 2014

How to speed up development and testing of ACIs


The product maintains an ACI cache for performance reasons. By default, the ACI cache is automatically refreshed every 10 minutes. The interval is controlled by the following property in enRole.properties:
###########################################################
## AccessControlList refreshInterval - minutes to wait
## before cached ACIs are checked for changes and reloaded.
###########################################################
enrole.accesscontrollist.refreshInterval=10

The result of this default setting in a development environment is that any time a change is made to an ACI as part of a development effort, it will take up to 10 minutes for the change to be effected. Often when multiple iterative changes are being made it's not at all clear what changes did or did not go into effect thus slowing down the development effort.

To eliminate this bottleneck, setting enrole.accesscontrollist.refreshInterval to 0 will mean that ACI changes will be effected immediately. A restart of the application is required after making this change.

Warning: Do not do this in a production environment as the performance benefit of having the ACI caching mechanism will be lost.

No comments:

Post a Comment