Cache Admin

Nenad Stefanovic

Sasa Bojanic


Table of Contents

Cache Admin
1. Lunching
2. Cache Admin display
Control Frame
Content Frame
Cumulative Values
Table Values
3. Internationalization
4. Refreshing from address line
Refreshing all tables within all applications on multiserver
Refreshing all tables within application
Refreshing the one table within application
Removing just one DO object from some application table cache
Removing the list of DO objects from some application table cache
Removing the list of DO objects from some application table cache using sql where query

Cache Admin

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.

Chapter 1. Lunching

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

Chapter 2. Cache Admin display

Cache Admin is logically divides in two frames:

  • The Control frame on the left side,

  • The Content frame on the right side of page

Control Frame

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

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.

Cumulative Values

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

Table Values

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.

Set Size

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

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.

Chapter 3. Internationalization

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).

Chapter 4. Refreshing from address line

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

Refreshing all tables within all applications on multiserver

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.

Refreshing all tables within application

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

Refreshing the one table within application

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

Removing just one DO object from some application table cache

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

Removing the list of DO objects from some application table cache

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.

Removing the list of DO objects from some application table cache using sql where query

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.