Table of Contents
Cache Admin is an Enhydra application that is used for maintain a cache of cached tables of Enhydra's applications. There are possible to clear all cache of some application, clear cache of some tables of selected application, modify cache size of every table, see details of selected table and many more.
Cache Admin is lunching from Admin Console, just like any other Enhydra application. If Cache Admin is not started automatically with Admin Console, it's necessary to add an application 'cacheAdmin' from Admin Console (for details see 'Multiserver Admin Console Help').
First at all, the console displays a password dialog box where user has to input their username and password. Default values are admin (for user) and enhydra (for password). These values are configurable in conf file of Cache Admin application.
![]() |
Figure 1: Password dialog box
After that, Cache Admin application appears in Web browser as shown in below picture.
![]() |
Figure 2: Cache Admin application
Table of Contents
Cache Admin is logically divides in two frames:
The Control frame on the left side,
The Content frame on the right side of page
As it is shown on Figure 3, control frame has two components - the Applications list box and control buttons.
![]() |
Figure 3: Control frame
Application list box contains a list of all applications that use a database.
Control buttons are:
Clear All - clear cache for all tables of all available application on Enhydra
Help - shows this help page
Also, on Control frame there are combo box for dynamic changing a language of Cache Admin. By default, Cache Admin chooses system language of computer where application is installed. Detailed explanations of internationalization features are explained in section Internationalization.
Content Frame displays information relevant to the selected application from Application list box. Similar like control frame, content frame is also divide on two logical components - part relevant for selected application (cumulative values of tables) and part relevant for individual table of selected application.
The top part of Content frame presents values relevant for selected application and cumulative values of their tables.
![]() |
Figure 4: Cumulative Values
These values are:
Logical database(s) - name(s) of database(s) that is used by selected application. If application uses more than one database, all databases names will be shown.
No. of cached tables - a value that presents a number of cached tables of selected application.
Overall cache size - number of records that are current in the cache of all application's tables
Overall used cache[%] - percent of number of records in hole cache for selected application
Above those values, there are two buttons:
Refresh - Refresh button uses for refreshing data for selected application
Clear cache- clear cache for all tables of selected application
The central parts of content frame are tabular dates about individual tables of selected application. Elements of that table are:
Table name - name of database table
Type - type of cache for table. There are tree possible values - full, partial and LRU cache
Size - maximum number of records that can be cached
Used[%] - current number of cached records of maximum number of cached record in percent
Hit[%] - number of queries that are hit the cache of all queries in percent
There are tree buttons in each row of table -
Set Size
, Clear
and
Details
. Every one of these buttons is used for appropriated row (database table). Clear button uses for clearing a cache for selected table of selected application. Rest of these button will be explained above.
![]() |
This button invokes a new HTML widow that is shown on a picture. For selected database table of selected application there is possible to set any size of cache. Also, it is possible to set unlimited cache size with appropriated button. If cache type is Full for some database table, Set Size button is disabled and it is not possible to set any particular size of cache.
![]() |
Details button also invokes a new window with many useful details about selected database table. Beside general information (Application name, Table Name...), these details are:
Total no. of queries - number of queries on that table
Total no. of queries by OId - number of queries on that table by OId
Used cache [%] - current number of cached records of maximum number of cached record in percent
Hit cache [%] - number of queries that are hit the cache of all queries in percent
Cache accessed - number of accessing to cache
DML operations no. - number od DML operations on table
No. of lazy loadings - number of "Lazy loadings"
Reset statistics at - time of reseting a statistics for table
![]() |
On same window, there is a Reset
button , which is used for reseting a statistical values for that table.
Cache Admin application is fully customizable about internationalization (i18n) features. All string values are written in property files, so it is easy to change some of these values.
There are three possible ways to change language localization in Cache Admin application:
Regional settings of operational system
Settings of conf file
Dynamic changes of language through application
By default, Cache Admin will read regional setting of OS and try to find appropriate property file for language of that country. If there isn't that property file, application will use default (English) property file. Every property file (except default one) has suffix in the name of property file. This suffix is Language Code for each country (for e.g. '_de' is for German language (Deutschland), '_fr' is for France, etc).
It is possible to override regional settings of OS by settings of conf file. In conf file, there is parameter CacheAdmin.Language = "" where user may write desirable Language Code. Application will try to find a property file for language of that Language Code.
Third possibility of changing a language is dynamic changing a language setting through application. On Control frame there are combo box for dynamic changing a language in Cache Admin. Combo Box will find every property file of application, so user can change language in run-time without regional settings of computer. It is suitable in case when computer is sets on one regional setting (for e.g. English) and user wants to use other language in that application (for e.g. German).
Table of Contents
Cache admin offers possibility of refreshing cached tables of Enhydra application by referencing cache admin PO object from browser address line, and passing it required parameters.
Generally, there are three ways to refresh cached tables of Enhydra application:
by refreshing all cached tables within all applications
by refreshing all cached tables within application
by refreshing one table within application
If you want to refresh all multiserver applications (all cached tables from all applications), you can do it by calling ExternalRefreshPO presentation object of Cache Admin application without passing it any parameter.
Here is the example:
http://computerName:cacheAdminPort/ExternalRefreshPO.po
where computerName is name or IP address of computer where enhydra multiserver runs, and cacheAdminPort is the port where cacheAdmin application is set to run at.
If you want to refresh entire application (all cached tables within application), you can do it by calling ExternalRefreshPO presentation object of Cache Admin application and passing it the parameter appName, with application configuration file name (without .conf extension) as a value.
For example, if you want to refresh discRack application (where discRack configuration file is discRack.conf), you can do it by addressing ExternalRefreshPO presentation object from browser address line as follows:
http://computerName:cacheAdminPort/ExternalRefreshPO.po?appName=discRack
If you want to refresh only one table within application, you can do it by passing additional argument - className, which value is the fully qualified form of DO class name that represents database table you want to refresh.
For example, if you want to refresh the Person table within discRack application, you can do it by addressing ExternalRefreshPO presentation object from browser address line as follows:
http://computerName:cacheAdminPort/ExternalRefreshPO.po?appName=discRack&className=discRack.data.person.PersonDO
If you want to remove one DO object from the cache of some application table, you can do it by passing two additional arguments - dbName, which is needed in the case if application works with multiple databases, and oid, which is the handle of object you want to remove from the cache.
For example, if you want to remove DO object represented by oid number 1000080, from Person table within discRack application that currently uses database sid1, you can do it by addressing ExternalRefreshPO presentation object from browser address line as follows:
http://computerName:cacheAdminPort/ExternalRefreshPO.po?appName=discRack&className=discRack.data.person.PersonDO&dbName=sid1&oid=1000080
If you want to remove the list of DO objects from the cache of some application table, you can do it by passing argument oidsList instead of the argument oid, which is the list of handles of objects you want to remove from the cache, separated by coma.
Here is the example of removing the list of objects from Person table within discRack application that currently uses database sid1:
http://computerName:cacheAdminPort/ExternalRefreshPO.po?appName=discRack&className=discRack.data.person.PersonDO&dbName=sid1&oidsList=1000080,1000081,1000082,1000083
IMPORTANT NOTE: If you are establishing session for the first time, you will be prompted to enter login and password. If you enter incorrect data for login or password, the given application or table won't be refreshed.
If you want to remove DO objects that satisfies the conditions given in the where part of sql query from the cache of some application table, you can do it by you can do it by passing argument sqlWhere instead of the argument oid. The sqlWhere parameter represents the where part of query that is performed on given application table.
Here is the example how to remove the list of objects that satisfies some conditions from Disc table within discRack application that currently uses database sid1:
http://computerName:cacheAdminPort/ExternalRefreshPO.po?appName=discRack&className=discRack.data.person.DiscDO&dbName=sid1&sqlWhere=oid>1000080 and oid<1000120 and isLiked="true"
IMPORTANT NOTE: If you are establishing session for the first time, you will be prompted to enter login and password. If you enter incorrect data for login or password, the given application or table won't be refreshed.