Embedded global cache

Use the embedded global cache that is supplied with IBM® App Connect Enterprise to store data that you want to reuse.

Using the embedded global cache

The embedded global cache is a built-in caching mechanism that is introduced in IBM App Connect Enterprise version 13.0.3.0. The embedded global cache replaces the deprecated embedded WebSphere® eXtreme Scale (WXS) grid (formerly known as the WXS embedded cache).

The embedded global cache allows for the storage of reusable data across message flows, whether within the same flow, between different flows, or flows running in different integration servers, all without the need for a separate database. It supports Java™ 8 and Java 17, offers a simplified configuration model, and is compatible with containerized environments.

For more information about configuring the embedded global cache, see Configuring the embedded global cache.

Server optimization and the embedded global cache

In earlier versions of IBM App Connect Enterprise, you could only enable or disable the embedded WebSphere eXtreme Scale (WXS) grid as a whole, and Java was required. The new embedded global cache supports more granular optimization.

If you have a dedicated cache server that is used only for cache replication and does not have any message flows deployed to it, you can optimize it to enable only the embedded cache and embedded replication backends. This configuration can run without Java.

If a server is not configured to replicate its cache or listen to replication requests, but uses the embedded cache for its own message flows, you can optimize off the embedded cache replication backends. This configuration still allows the message flows to use the embedded cache within your server.

The following shows a command that would optimize the work directory C:\Work\Development\V13\Server1:
ibmint optimize server --work-directory C:\Work\Development\V13\Server1 
For more information, see ibmint optimize server command.

Administration of the embedded global cache

You can administer the embedded global cache by using two new commands:

ibmint display cache command

Use the ibmint display cache command to view details about the embedded cache configuration, like the replication configuration, the maps available, number of keys in each map, and the amount of memory used by each map.

For example, to get the replication settings for a server with an admin port of 7600:
C:\Program Files\IBM\ACE\13.0.3.0>ibmint display cache --admin-host localhost --admin-port 7600
BIP15350I: The server is configured to write cache data written in flows running in the server to the following other servers 'server1'
BIP15351I: The server is configured to read cache data not found locally from the following other servers 'server1'
BIP15352I: The server is configured to respond to read and write requests for the global cache that are sent to port '7900' with TLS 'Disabled'
Using the --all-maps flag, you can see how many maps are in this server’s cache, how many keys they have, and how much memory they are using. For example:
C:\Program Files\IBM\ACE\13.0.3.0>ibmint display cache --admin-host localhost --admin-port 7600 --all-maps
BIP15355I: The server contains '3' maps:
BIP15349I: The map 'SYSTEM.DEFAULT.BROKER' contains 4 keys, and is using 3 KiB of memory.
BIP15349I: The map 'myMap2' contains 2 keys, and is using 117 Bytes of memory.
BIP15349I: The map 'myMap1' contains 1 keys, and is using 47 Bytes of memory.
You can query specific maps by repeating the --map-name flag for each map you want to query. For example, to query just myMap1 and myMap2:
C:\Program Files\IBM\ACE\13.0.3.0>ibmint display cache --admin-host localhost --admin-port 7600 --map-name myMapl --map-name myMap2
BIP15349I: The map 'myMapl' contains 1 keys, and is using 47 Bytes of memory.
BIP15349I: The map 'myMap2' contains 2 keys, and is using 117 Bytes of memory.

ibmint clear cache command

Use the ibmint clear cache command to clear maps within one copy of the embedded global cache. For example:
C:\Program Files\IBM\ACE\13.0.3.0>ibmint display cache --admin-host localhost --admin-port 7600 --map-name myMapl --map-name myMap2
BIP15349I: The map 'myMapl' contains 1 keys, and is using 47 Bytes of memory.
BIP15349I: The map 'myMap2' contains 2 keys, and is using 117 Bytes of memory.

C:\Program Files\IBM\ACE\13.0.3.0›ibmint clear cache -admin-host localhost --admin-port 7600 --map-name myMap1
BIP15358I: The map 'myMapl' has had all data entries cleared from this server.

C:\Program Files\IBM\ACE\13.0.3.0>ibmint display cache --admin-host localhost --admin-port 7600 --map-name myMapl --map-name myMaр2
BIP15349I: The map 'myMapl' contains 0 keys, and is using 0 Bytes of memory.
BIP15349I: The map 'myMap2' contains 2 keys, and is using 117 Bytes of memory.
Note: This change is not applied to other servers that the cleared server may replicate to. To clear the cache across a network of servers, repeat the command on each server individually.