Configuring Advanced Cache in SMC for On-Premises Open Integration
This topic describes how to configure cache in SMC when Advanced is selected for Cache Configuration.
If Coherence is already deployed through SMC using the non-Advanced path in 25.10 or
later, you only need to enable the Open Integration cache in
profile.json. No additional Advanced cache configuration changes
are required.
When Advanced configuration is used, append the Open Integration entries to your
existing cache-config file. Do not remove or replace existing
entries.
- Coherence is deployed through SMC.
- You have access to the existing
cache-configXML file. - You preserve all current cache entries and append only the Open Integration additions.
- Append the following cache mappings in the
<caching-scheme-mapping>section of thecache-configfile:Note: Create the <caching-scheme-mapping> block if it does not already exist.<cache-mapping> <cache-name>OpenInt_*</cache-name> <scheme-name>oi-distributed-sessions</scheme-name> </cache-mapping> <cache-mapping> <cache-name>OpenintAtomic_*_CurrentTasks</cache-name> <scheme-name>oi-concurrent</scheme-name> </cache-mapping>Note:- The cache names are case-sensitive:
OpenInt_*,OpenintAtomic_*_CurrentTasks,oi-distributed-sessions, andoi-concurrent. - Append the entries only. Do not duplicate any existing mappings.
- The cache names are case-sensitive:
- Append the following distributed schemes in single
<caching-schemes>block of thecache-configfile:<distributed-scheme> <scheme-name>oi-distributed-sessions</scheme-name> <service-name>DistributedCache</service-name> <backing-map-scheme> <read-write-backing-map-scheme> <internal-cache-scheme> <local-scheme> <high-units>0</high-units> <expiry-delay>0</expiry-delay> </local-scheme> </internal-cache-scheme> <listener> <class-scheme> <class-name>com.siebel.openint.cache.OpenIntEvictionListener</class-name> <init-params> <init-param> <param-name>context</param-name> <param-value>{manager-context}</param-value> </init-param> </init-params> </class-scheme> </listener> </read-write-backing-map-scheme> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme> <distributed-scheme> <scheme-name>oi-concurrent</scheme-name> <service-name>DistributedConcurrentCache</service-name> <backing-map-scheme> <partitioned>true</partitioned> <local-scheme> <unit-calculator>BINARY</unit-calculator> </local-scheme> </backing-map-scheme> <autostart>true</autostart> </distributed-scheme>Note:- Use the scheme names exactly as shown. They must match the mappings in the cache scheme mappings.
- Append only. Do not duplicate existing scheme names.
- Append the following proxy scheme in the same
<caching-schemes>block of thecache-configfile, after the distributed schemes:<proxy-scheme> <scheme-name>OIExtendTcpProxyService</scheme-name> <service-name>OIExtendTcpProxyService</service-name> <acceptor-config> <tcp-acceptor> <socket-provider system-property="coherence.extend.socketprovider"/> </tcp-acceptor> </acceptor-config> <autostart>true</autostart> </proxy-scheme>Note: The name is case-sensitive and must match the client referenceOIExtendTcpProxyService.
Complete Advance Cache Configuration Example
The following example shows only the Open Integration additions. Merge these entries
into your existing cache-config file.
Add the two cache mappings, the two distributed schemes, and the proxy scheme. Append
them to the existing <caching-scheme-mapping> and
<caching-schemes> blocks.
- Append only to the existing file. Do not remove or duplicate any existing entries.
- Keep the scheme names exactly as shown.
- Use the defined order: cache mappings, distributed schemes, then proxy scheme.
Sample:
OI-coherence-server-cache-config
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemalocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<defaults>
<serializer>pof</serializer>
</defaults>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>OpenInt_*</cache-name>
<scheme-name>oi-distributed-sessions</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>OpenintAtomic_*_CurrentTasks</cache-name>
<scheme-name>oi-concurrent</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>oi-distributed-sessions</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme>
<high-units>0</high-units>
<expiry-delay>0</expiry-delay>
</local-scheme>
</internal-cache-scheme>
<listener>
<class-scheme>
<class-name>com.siebel.openint.cache.OpenIntEvictionListener</class-name>
<init-params>
<init-param>
<param-name>context</param-name>
<param-value>{manager-context}</param-value>
</init-param>
</init-params>
</class-scheme>
</listener>
</read-write-backing-map-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<distributed-scheme>
<scheme-name>oi-concurrent</scheme-name>
<service-name>DistributedConcurrentCache</service-name>
<backing-map-scheme>
<partitioned>true</partitioned>
<local-scheme>
<unit-calculator>BINARY</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
<proxy-scheme>
<scheme-name>OIExtendTcpProxyService</scheme-name>
<service-name>OIExtendTcpProxyService</service-name>
<acceptor-config>
<tcp-acceptor>
<socket-provider system-property="coherence.extend.socketprovider"/>
</tcp-acceptor>
</acceptor-config>
<autostart>true</autostart>
</proxy-scheme>
</caching-schemes>
</cache-config>