SMC Advanced Cache Configuration for On Premise Open Integration
-
If Coherence is already deployed via SMC using the non-Advanced path in 25.10 or later, you can simply enable the Open Integration cache in profile.json. No Advanced edits are required.
- If Advanced is selected for Cache Configuration, add the snippets below to your existing Cache Configuration XML (cache-config). Append them; do not remove or replace your current entries. You may add further configuration as needed.
Cache Scheme Mappings
- In cache-config, find the <caching-scheme-mapping> block. If it doesn’t exist, create it once.
- Append these two mappings:
<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:
- Case-sensitive names: OpenInt_* and OpenintAtomic_*_CurrentTasks; oi-distributed-sessions; oi-concurrent.
- Append only, do not duplicate existing mappings.
Distributed Schemes
- In cache-config, locate the single <caching-schemes> block. Append these two distributed 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>
Note:
- Keep scheme-name values exactly as shown; they must match the mappings in 6.1.
- Append only, do not duplicate existing scheme names in your file.
Proxy Scheme
- In cache-config, inside the same <caching-schemes> block, append this proxy-scheme 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: Names are case-sensitive and must match client references:
OIExtendTcpProxyService.
Full Configuration Exmaple
- The following shows only the Open Integration additions. Merge these into your existing cache-config: add the two cache-mappings, the two distributed schemes, and the proxy-scheme.
- Append to your current <caching-scheme-mapping> and <caching-schemes> blocks; do not remove or duplicate existing entries.
- Keep the order: cache-mappings, then distributed-schemes, then proxy-scheme.
- Names are case-sensitive and must match earlier sections.
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">
<!-- Default settings for the cache -->
<defaults>
<!-- Specifies POF (Portable Object Format) for serialization -->
<serializer>pof</serializer>
</defaults>
<!-- Maps cache names to caching schemes -->
<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>
<!-- Defines different caching schemes -->
<caching-schemes>
<!-- Distributed caching scheme configuration -->
<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 caching scheme for remote access -->
<!-- <proxy-scheme>
<service-name>ExtendTcpProxyService</service-name>
<acceptor-config>
<tcp-acceptor/>
</acceptor-config>
<autostart>true</autostart>
</proxy-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>