<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE html>

      
      
<html lang="en">
<head>
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-1382082-1"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-61232409-1');
    </script>

    

    <meta charset="UTF-8">
    <title>Using Spring Cache With Apache Ignite | Ignite Documentation</title>
    
    <link rel="canonical" href="/docs/spring/spring-caching" />
    
	
	<link rel="stylesheet" href="/assets/css/styles.css?1651672546">
    <link rel="stylesheet" href="/assets/css/asciidoc-pygments.css">
    <link rel="shortcut icon" href="/favicon.ico">
    <meta name='viewport' content='width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0'>

	<link rel="stylesheet"
	  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="/assets/js/jquery.swiftype.autocomplete.js?1651672546"></script>
    <script type="text/javascript" src="/assets/js/anchor.min.js?1651672546"></script>
    

</head>
<body>
    <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<header>
    <div class="container">
        <button type='button' class='menu' title='Docs menu'>
          <img src="/assets/images/menu-icon.svg"/>
        </button>

        <div class='home'>
            <a href="/" class='home' title='Apache Ignite home'>
                <img src="/assets/images/apache_ignite_logo.svg" alt="Apache Ignite logo" width="103" height="36" >
            </a>
        </div>

        <nav>

        </nav>
        <form class='search'>
            <button class="search-close" type='button'><img src='/assets/images/cancel.svg'></button>
            <input type="search" placeholder="Search…" id="search-input">
        </form>
        <button type='button' class='search-toggle'><img src='/assets/images/search.svg'></button>
        <button type='button' class='top-nav-toggle'>⋮</button>
        <a href="https://github.com/ignite" title='GitHub' class='github' target="_blank">
            <img src="/assets/images/github-gray.svg" alt="GitHub logo">
        </a>
    </div>
</header>


    <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
	 <link rel="stylesheet" href="/assets/css/docs.css">
<section class='page-docs'>
    <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->







<nav class='left-nav' data-swiftype-index='false'>

    
    <li>
        

<a href="/docs/extensions/aws/aws" class='' >Amazon S3 IP Finder</a>

</li>

    <li>
        

<a href="/docs/extensions/camel/camel-streamer" class='' >Apache Camel Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/flink/flink-streamer" class='' >Apache Flink Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/flume/flume-sink" class='' >Apache Flume Sink</a>

</li>

    <li>
        

<a href="/docs/extensions/azure/azure" class='' >Apache Ignite Azure Module</a>

</li>

    <li>
        

<a href="/docs/extensions/gce/gce" class='' >Apache Ignite GCE Module</a>

</li>

    <li>
        

<a href="/docs/extensions/pub-sub/pub-sub" class='' >Apache Ignite Pub/Sub Module</a>

</li>

    <li>
        

<a href="/docs/extensions/spring/spring-boot" class='' >Apache Ignite and Spring Boot</a>

</li>

    <li>
        

<a href="/docs/extensions/spring/spring-data" class='' >Apache Ignite and Spring Data</a>

</li>

    <li>
        

<a href="/docs/extensions/spring/spring-caching" class='' >Apache Ignite and Spring Cache</a>

</li>

    <li>
        

<a href="/docs/extensions/spring/spring-tx" class='' >Apache Ignite and Spring Transactions</a>

</li>

    <li>
        

<a href="/docs/extensions/kafka/kafka-streamer" class='' >Apache Kafka Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/storm/storm-streamer" class='' >Apache Storm Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/cdc/change-data-capture-extensions" class='' >Change Data Capture Extension</a>

</li>

    <li>
        

<a href="/docs/extensions/jms/jms-streamer" class='' >JMS Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/mqtt/mqtt-streamer" class='' >MQTT Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/perf-statistics/performance-statistics" class='' >Performance Statistics Extension</a>

</li>

    <li>
        

<a href="/docs/extensions/rocketmq/rocketmq-streamer" class='' >RocketMQ Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/topology-validator/topology-validator" class='' >Topology Validator</a>

</li>

    <li>
        

<a href="/docs/extensions/twitter/twitter-streamer" class='' >Twitter Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/zeromq/zeromq-streamer" class='' >ZeroMQ Streamer</a>

</li>

    <li>
        

<a href="/docs/extensions/zookeeper/zookeeper-ip" class='' >ZooKeeper IP Finder</a>

</li>

</nav>
<div class="left-nav__overlay"></div>


    <article data-swiftype-index='true'>
        <a class='edit-link' href="/_docs/spring/spring-caching.adoc" target="_blank">Edit</a>
        
            <h1>Using Spring Cache With Apache Ignite</h1>
        
        <div class="sect1">
<h2 id="overview">Overview</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html" target="_blank" rel="noopener">Spring Cache</a>
abstraction provides an annotation-based way to enable caching for Java methods so that the result of a method execution
is stored in an external cache storage. Later, if the same method is called with the same set of parameter values, the result
will be retrieved from the cache instead of actually executing the method.</p>
</div>
<div class="paragraph">
<p>Apache Ignite provides the <code>ignite-spring-cache-ext</code> extension that allows to use Apache Ignite Cache as an external
storage for the Spring Cache abstraction. The mentioned above integration is achieved by providing implementations of the
<code>CacheManager</code> Spring interface. There are two such implementations: <code>SpringCacheManager</code> and
<code>IgniteClientSpringCacheManager</code>, which use either Apache Ignite node or Apache Ignite thin client to connect to the
Apache Ignite cluster and perform data caching.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="maven-configuration">Maven Configuration</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If you use Maven to manage dependencies in your project, you can add Apache Ignite Spring Cache extension
dependencies to the application&#8217;s <code>pom.xml</code> file like this:</p>
</div>
<code-tabs><code-tab data-tab=' For all Apache Ignite versions since 2.12.0'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-spring-cache-ext<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite-spring-cache-ext.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-core<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-spring<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite.version}<span class="nt">&lt;/version&gt;</span>
     <span class="nt">&lt;exclusions&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-context<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
    <span class="nt">&lt;/exclusions&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>spring-context<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${spring.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='For Apache Ignite 2.11.0'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-spring-cache-ext<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite-spring-cache-ext.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-core<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.ignite<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>ignite-spring<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${ignite.version}<span class="nt">&lt;/version&gt;</span>
     <span class="nt">&lt;exclusions&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-context<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-core<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-aop<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-expressions<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-beans<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-jdbc<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
        <span class="nt">&lt;exclusion&gt;</span>
            <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
            <span class="nt">&lt;artifactId&gt;</span>spring-tx<span class="nt">&lt;/artifactId&gt;</span>
        <span class="nt">&lt;/exclusion&gt;</span>
    <span class="nt">&lt;/exclusions&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>

<span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.springframework<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>spring-context<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>${spring.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<div class="paragraph">
<p>Replace <code>${ignite-spring-cache-ext.version}</code>, <code>${spring.version}</code>, and
<code>${ignite.version}</code> with an actual version of Apache Ignite Spring Cache extension, Spring, and
Apache Ignite dependency you need, respectively.</p>
</div>
<div class="paragraph">
<p>The table below shows available versions of the Apache Ignite Spring Cache extension and compatible versions
of the Apache Ignite and Spring.</p>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 28.5714%;">
<col style="width: 35.7142%;">
<col style="width: 35.7144%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Apache Ignite Spring Cache extension version</th>
<th class="tableblock halign-left valign-top">Apache Ignite versions</th>
<th class="tableblock halign-left valign-top">Spring versions</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">1.0.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">All versions since 2.11.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">All versions since 4.3.0</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="apache-ignite-node-cache-manager-configuration">Apache Ignite Node Cache Manager Configuration</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="cluster-connection-configuration">Cluster Connection Configuration</h3>
<div class="paragraph">
<p>To plug in an Ignite cache into your Spring-based application that uses Ignite node to connect to Apache Ignite cluster
you need to perform just two simple steps:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Start an Ignite node with proper configuration in embedded mode (i.e., in the same JVM where the application is running).
It can already have predefined caches, but it&#8217;s not required - caches will be created automatically on first access if required.</p>
</li>
<li>
<p>Configure <code>SpringCacheManager</code> as the cache manager in the Spring application context.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The embedded node can be started by <code>SpringCacheManager</code> itself. In this case you will need to provide a path to either
the Ignite configuration XML file or <code>IgniteConfiguration</code> instance via <code>configurationPath</code> or <code>configuration</code>
properties respectively (see examples below). Note that setting both is illegal and results in <code>IllegalArgumentException</code>.</p>
</div>
<h3 id="specifying-apache-ignite-node-configuration" class="discrete">Specifying Apache Ignite Node Configuration</h3>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">SpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
        <span class="nc">SpringCacheManager</span> <span class="n">mgr</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SpringCacheManager</span><span class="o">();</span>

        <span class="n">mgr</span><span class="o">.</span><span class="na">setConfiguration</span><span class="o">(</span><span class="k">new</span> <span class="nc">IgniteConfiguration</span><span class="o">()</span>
            <span class="o">.</span><span class="na">setIgniteInstanceName</span><span class="o">(</span><span class="s">"&lt;name of the Ignite node instance&gt;"</span><span class="o">));</span>
            <span class="c1">// Other required configuration parameters.</span>

        <span class="k">return</span> <span class="n">mgr</span><span class="o">;</span>
   <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;beans</span> <span class="na">xmlns=</span><span class="s">"http://www.springframework.org/schema/beans"</span>
       <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="na">xmlns:cache=</span><span class="s">"http://www.springframework.org/schema/cache"</span>
       <span class="na">xsi:schemaLocation=</span><span class="s">"
         http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/cache
         http://www.springframework.org/schema/cache/spring-cache.xsd"</span><span class="nt">&gt;</span>
    <span class="c">&lt;!-- Provide configuration bean. --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.SpringCacheManager"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"configuration"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.IgniteConfiguration"</span><span class="nt">&gt;</span>
                 ...
            <span class="nt">&lt;/bean&gt;</span>
        <span class="nt">&lt;/property&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Enable annotation-driven caching. --&gt;</span>
    <span class="nt">&lt;cache:annotation-driven/&gt;</span>
<span class="nt">&lt;/beans&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<h3 id="specifying-path-to-apache-ignite-xml-node-configuration-file" class="discrete">Specifying Path to Apache Ignite XML Node Configuration File</h3>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">SpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
        <span class="nc">SpringCacheManager</span> <span class="n">mgr</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SpringCacheManager</span><span class="o">();</span>

        <span class="n">mgr</span><span class="o">.</span><span class="na">setConfigurationPath</span><span class="o">(</span><span class="s">"&lt;path to an Apache Ignite configuration XML file (path can be absolute or relative to `IGNITE_HOME`)"</span><span class="o">);</span>

        <span class="k">return</span> <span class="n">mgr</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;beans</span> <span class="na">xmlns=</span><span class="s">"http://www.springframework.org/schema/beans"</span>
       <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="na">xmlns:cache=</span><span class="s">"http://www.springframework.org/schema/cache"</span>
       <span class="na">xsi:schemaLocation=</span><span class="s">"
         http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/cache
         http://www.springframework.org/schema/cache/spring-cache.xsd"</span><span class="nt">&gt;</span>
    <span class="c">&lt;!-- Provide configuration file path. --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.SpringCacheManager"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"configurationPath"</span> <span class="na">value=</span><span class="s">"&lt;path to an Apache Ignite configuration XML file (path can be absolute or relative to `IGNITE_HOME`)"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Enable annotation-driven caching. --&gt;</span>
    <span class="nt">&lt;cache:annotation-driven/&gt;</span>
<span class="nt">&lt;/beans&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<h3 id="specifying-name-of-the-manually-started-apache-ignite-node-instance" class="discrete">Specifying Name of the Manually Started Apache Ignite Node Instance</h3>
<div class="paragraph">
<p>It&#8217;s possible that you already have an Ignite node running when the cache manager is initialized (e.g., it was started using
<code>ServletContextListenerStartup</code>). In this case you should simply provide the grid name via <code>igniteInstanceName</code> property.
Note that if you don&#8217;t set the grid name as well, the cache manager will try to use the default Ignite instance
(the one with the <code>null</code> name). Here is an example:</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">SpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
        <span class="nc">SpringCacheManager</span> <span class="n">mgr</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SpringCacheManager</span><span class="o">();</span>

        <span class="n">mgr</span><span class="o">.</span><span class="na">setIgniteInstanceName</span><span class="o">(</span><span class="s">"&lt;name of the Apache Ignite node instance&gt;"</span><span class="o">);</span>

        <span class="k">return</span> <span class="n">mgr</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;beans</span> <span class="na">xmlns=</span><span class="s">"http://www.springframework.org/schema/beans"</span>
       <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="na">xmlns:cache=</span><span class="s">"http://www.springframework.org/schema/cache"</span>
       <span class="na">xsi:schemaLocation=</span><span class="s">"
         http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/cache
         http://www.springframework.org/schema/cache/spring-cache.xsd"</span><span class="nt">&gt;</span>
    <span class="c">&lt;!-- Provide grid name. --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.SpringCacheManager"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"igniteInstanceName"</span> <span class="na">value=</span><span class="s">"&lt;name of the Apache Ignite node instance&gt;"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Enable annotation-driven caching. --&gt;</span>
    <span class="nt">&lt;cache:annotation-driven/&gt;</span>
<span class="nt">&lt;/beans&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<div class="paragraph">
<p>Keep in mind that the node started inside your application is an entry point to the whole topology it connects to.
You can start as many remote standalone nodes as you need and all these nodes will participate in caching the data.</p>
</div>
</td>
</tr>
</table>
</div>
</div>
<div class="sect2">
<h3 id="dynamic-caches">Dynamic Caches</h3>
<div class="paragraph">
<p>While you can have all required caches predefined in Ignite configuration, it&#8217;s not required. If Spring wants to use a
cache that doesn&#8217;t exist, the <code>SpringCacheManager</code> will automatically create it.</p>
</div>
<div class="paragraph">
<p>If otherwise not specified, a new cache will be created with default configuration. To customize it, you can provide a configuration
template via <code>dynamicCacheConfiguration</code> property. For example, if you want to use <code>REPLICATED</code> caches instead of
<code>PARTITIONED</code>, you should configure <code>SpringCacheManager</code> like this:</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">SpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
        <span class="nc">SpringCacheManager</span> <span class="n">mgr</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SpringCacheManager</span><span class="o">();</span>
        <span class="o">...</span>

        <span class="n">mgr</span><span class="o">.</span><span class="na">setDynamicCacheConfiguration</span><span class="o">(</span><span class="k">new</span> <span class="nc">CacheConfiguration</span><span class="o">&lt;&gt;(</span><span class="s">"&lt;cache name&gt;"</span><span class="o">)</span>
            <span class="o">.</span><span class="na">setCacheMode</span><span class="o">(</span><span class="nc">CacheMode</span><span class="o">.</span><span class="na">REPLICATED</span><span class="o">));</span>

        <span class="k">return</span> <span class="n">mgr</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.SpringCacheManager"</span><span class="nt">&gt;</span>
    ...

    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"dynamicCacheConfiguration"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.CacheConfiguration"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"name"</span> <span class="na">value=</span><span class="s">"&lt;cache name&gt;"</span><span class="nt">/&gt;</span>
            <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"cacheMode"</span> <span class="na">value=</span><span class="s">"REPLICATED"</span><span class="nt">/&gt;</span>
        <span class="nt">&lt;/bean&gt;</span>
    <span class="nt">&lt;/property&gt;</span>
<span class="nt">&lt;/bean&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<div class="paragraph">
<p>You can also utilize near caches on client side. To achieve this, simply provide near cache configuration via the
<code>dynamicNearCacheConfiguration</code> property. By default, near cache is not created. Here is an example:</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">SpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
        <span class="nc">SpringCacheManager</span> <span class="n">mgr</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">SpringCacheManager</span><span class="o">();</span>
        <span class="o">...</span>

        <span class="n">mgr</span><span class="o">.</span><span class="na">setDynamicNearCacheConfiguration</span><span class="o">(</span><span class="k">new</span> <span class="nc">NearCacheConfiguration</span><span class="o">&lt;&gt;().</span><span class="na">setNearStartSize</span><span class="o">(</span><span class="mi">1000</span><span class="o">));</span>

        <span class="k">return</span> <span class="n">mgr</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.SpringCacheManager"</span><span class="nt">&gt;</span>
    ...

    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"dynamicNearCacheConfiguration"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.NearCacheConfiguration"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"nearStartSize"</span> <span class="na">value=</span><span class="s">"1000"</span><span class="nt">/&gt;</span>
        <span class="nt">&lt;/bean&gt;</span>
    <span class="nt">&lt;/property&gt;</span>
<span class="nt">&lt;/bean&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
</div>
</div>
</div>
<div class="sect1">
<h2 id="apache-ignite-thin-client-cache-manager-configuration">Apache Ignite Thin Client Cache Manager Configuration</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This chapter shows how to set up <code>IgniteClientSpringCacheManager</code> that relies on Ignite thin client to connect
to the Ignite cluster and perform caching.</p>
</div>
<div class="admonitionblock important">
<table>
<tr>
<td class="icon">
<div class="title">Important</div>
</td>
<td class="content">
<div class="paragraph">
<p><code>IgniteClientSpringCacheManager</code> does not support Spring Cache synchronous mode
(<a href="https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/cache/annotation/Cacheable.html#sync--" target="_blank" rel="noopener">Cacheable#sync</a>).
If this feature is crucial to your application, choose the
<a href="/docs/extensions-and-integrations/spring/spring-caching#apache-ignite-node-cache-manager-configuration">SpringCacheManager</a>
that uses an Ignite node to connect to Ignite cluster.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="cluster-connection-configuration-2">Cluster Connection Configuration</h3>
<div class="paragraph">
<p>Cluster connection configuration defines Apache Ignite thin client used by <code>IgniteClientSpringCacheManager</code> to access
the cluster.
There are several approaches to do this:</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<div class="paragraph">
<p>It is incorrect to mix multiple approaches - this results in the <code>IllegalArgumentException</code> exception during the manager startup.</p>
</div>
</td>
</tr>
</table>
</div>
<h3 id="specifying-instance-of-the-apache-ignite-thin-client" class="discrete">Specifying Instance of the Apache Ignite Thin Client</h3>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
   <span class="nd">@Bean</span>
   <span class="kd">public</span> <span class="nc">IgniteClient</span> <span class="nf">igniteClient</span><span class="o">()</span> <span class="o">{</span>
       <span class="k">return</span> <span class="nc">Ignition</span><span class="o">.</span><span class="na">startClient</span><span class="o">(</span><span class="k">new</span> <span class="nc">ClientConfiguration</span><span class="o">().</span><span class="na">setAddresses</span><span class="o">(</span><span class="s">"127.0.0.1:10800"</span><span class="o">));</span>
   <span class="o">}</span>

   <span class="nd">@Bean</span>
   <span class="kd">public</span> <span class="nc">IgniteClientSpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">(</span><span class="nc">IgniteClient</span> <span class="n">cli</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">IgniteClientSpringCacheManager</span><span class="o">().</span><span class="na">setClientInstance</span><span class="o">(</span><span class="n">cli</span><span class="o">);</span>
   <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;beans</span> <span class="na">xmlns=</span><span class="s">"http://www.springframework.org/schema/beans"</span>
       <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="na">xmlns:cache=</span><span class="s">"http://www.springframework.org/schema/cache"</span>
       <span class="na">xsi:schemaLocation=</span><span class="s">"
                http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/cache
                http://www.springframework.org/schema/cache/spring-cache.xsd"</span><span class="nt">&gt;</span>
    <span class="c">&lt;!--
        Note that org.apache.ignite.IgniteClientSpringBean is available since Apache Ignite 2.11.0 version.
        For Apache Ignite 2.10.0 and earlier `org.apache.ignite.client.IgniteClient` bean should be created
        manually with concern of its connection to the Ignite cluster.
    --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"igniteClient"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.IgniteClientSpringBean"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"clientConfiguration"</span><span class="nt">&gt;</span>
            <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.ClientConfiguration"</span><span class="nt">&gt;</span>
                <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"addresses"</span><span class="nt">&gt;</span>
                    <span class="nt">&lt;list&gt;</span>
                        <span class="nt">&lt;value&gt;</span>127.0.0.1:10800<span class="nt">&lt;/value&gt;</span>
                    <span class="nt">&lt;/list&gt;</span>
                <span class="nt">&lt;/property&gt;</span>
            <span class="nt">&lt;/bean&gt;</span>
        <span class="nt">&lt;/property&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Provide Apache Ignite thin client instance. --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.IgniteClientSpringCacheManager"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"clientInstance"</span> <span class="na">ref=</span><span class="s">"igniteClient"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Use annotation-driven cache configuration. --&gt;</span>
    <span class="nt">&lt;cache:annotation-driven/&gt;</span>
<span class="nt">&lt;/beans&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
<h3 id="specifying-apache-ignite-thin-client-configuration" class="discrete">Specifying Apache Ignite Thin Client Configuration</h3>
<div class="paragraph">
<p>In this case, Apache Ignite thin client instance is started automatically by the <code>IgniteClientSpringCacheManager</code> based
on the provided configuration.</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nd">@Configuration</span>
<span class="nd">@EnableCaching</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringApplicationConfiguration</span> <span class="o">{</span>
    <span class="nd">@Bean</span>
    <span class="kd">public</span> <span class="nc">IgniteClientSpringCacheManager</span> <span class="nf">cacheManager</span><span class="o">()</span> <span class="o">{</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">IgniteClientSpringCacheManager</span><span class="o">()</span>
           <span class="o">.</span><span class="na">setClientConfiguration</span><span class="o">(</span><span class="k">new</span> <span class="nc">ClientConfiguration</span><span class="o">()</span>
               <span class="o">.</span><span class="na">setAddresses</span><span class="o">(</span><span class="s">"127.0.0.1:10800"</span><span class="o">));</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;beans</span> <span class="na">xmlns=</span><span class="s">"http://www.springframework.org/schema/beans"</span>
       <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="na">xmlns:cache=</span><span class="s">"http://www.springframework.org/schema/cache"</span>
       <span class="na">xsi:schemaLocation=</span><span class="s">"
              http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/cache
              http://www.springframework.org/schema/cache/spring-cache.xsd"</span><span class="nt">&gt;</span>
    <span class="c">&lt;!-- Provide configuration bean. --&gt;</span>
    <span class="nt">&lt;bean</span> <span class="na">id=</span><span class="s">"cacheManager"</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.spring.IgniteClientSpringCacheManager"</span><span class="nt">&gt;</span>
        <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"clientConfiguration"</span><span class="nt">&gt;</span>
           <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.ClientConfiguration"</span><span class="nt">&gt;</span>
               <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"addresses"</span><span class="nt">&gt;</span>
                   <span class="nt">&lt;list&gt;</span>
                       <span class="nt">&lt;value&gt;</span>127.0.0.1:10800<span class="nt">&lt;/value&gt;</span>
                   <span class="nt">&lt;/list&gt;</span>
               <span class="nt">&lt;/property&gt;</span>
           <span class="nt">&lt;/bean&gt;</span>
        <span class="nt">&lt;/property&gt;</span>
    <span class="nt">&lt;/bean&gt;</span>

    <span class="c">&lt;!-- Use annotation-driven cache configuration. --&gt;</span>
    <span class="nt">&lt;cache:annotation-driven/&gt;</span>
<span class="nt">&lt;/beans&gt;</span></code></pre>
</div>
</div></code-tab></code-tabs>
</div>
<div class="sect2">
<h3 id="dynamic-caches-2">Dynamic Caches</h3>
<div class="paragraph">
<p>Dynamic Caches configuration for <code>IgniteClientSpringCacheManager</code> is performed the same way as for
<a href="/docs/extensions-and-integrations/spring/spring-caching#dynamic-caches">SpringCacheManager</a>
that uses Apache Ignite node instance to access the cluster.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="example">Example</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once you have added <code>SpringCacheManager</code> to your Spring application context, you can enable caching for any Java method by simply attaching an annotation to it.</p>
</div>
<div class="paragraph">
<p>Usually, you would use caching for heavy operations, like database access. For example, let&#8217;s assume you have a DAO class with
<code>averageSalary(&#8230;&#8203;)</code> method that calculates the average salary of all employees in an organization. You can use <code>@Cacheable</code>
annotation to enable caching for this method:</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="kd">private</span> <span class="nc">JdbcTemplate</span> <span class="n">jdbc</span><span class="o">;</span>

<span class="nd">@Cacheable</span><span class="o">(</span><span class="s">"averageSalary"</span><span class="o">)</span>
<span class="kd">public</span> <span class="kt">long</span> <span class="nf">averageSalary</span><span class="o">(</span><span class="kt">int</span> <span class="n">organizationId</span><span class="o">)</span> <span class="o">{</span>
    <span class="nc">String</span> <span class="n">sql</span> <span class="o">=</span>
        <span class="s">"SELECT AVG(e.salary) "</span> <span class="o">+</span>
        <span class="s">"FROM Employee e "</span> <span class="o">+</span>
        <span class="s">"WHERE e.organizationId = ?"</span><span class="o">;</span>

    <span class="k">return</span> <span class="n">jdbc</span><span class="o">.</span><span class="na">queryForObject</span><span class="o">(</span><span class="n">sql</span><span class="o">,</span> <span class="nc">Long</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">organizationId</span><span class="o">);</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab></code-tabs>
<div class="paragraph">
<p>When this method is called for the first time, <code>SpringCacheManager</code> will automatically create a <code>averageSalary</code> cache.
It will also lookup the pre-calculated average value in this cache and return it right away if it&#8217;s there. If the average
for this organization is not calculated yet, the method will be called and the result will be stored in cache. So next
time you request the average salary for this organization, you will not need to query the database.</p>
</div>
<div class="paragraph">
<p>If the salary of one of the employees is changed, you may want to remove the average value for the organization this
employee belongs to, because otherwise the <code>averageSalary(&#8230;&#8203;)</code> method will return obsolete cached result. This can be
achieved by attaching <code>@CacheEvict</code> annotation to a method that updates employee&#8217;s salary:</p>
</div>
<code-tabs><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="kd">private</span> <span class="nc">JdbcTemplate</span> <span class="n">jdbc</span><span class="o">;</span>

<span class="nd">@CacheEvict</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"averageSalary"</span><span class="o">,</span> <span class="n">key</span> <span class="o">=</span> <span class="s">"#e.organizationId"</span><span class="o">)</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateSalary</span><span class="o">(</span><span class="nc">Employee</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
    <span class="nc">String</span> <span class="n">sql</span> <span class="o">=</span>
        <span class="s">"UPDATE Employee "</span> <span class="o">+</span>
        <span class="s">"SET salary = ? "</span> <span class="o">+</span>
        <span class="s">"WHERE id = ?"</span><span class="o">;</span>

    <span class="n">jdbc</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">sql</span><span class="o">,</span> <span class="n">e</span><span class="o">.</span><span class="na">getSalary</span><span class="o">(),</span> <span class="n">e</span><span class="o">.</span><span class="na">getId</span><span class="o">());</span>
<span class="o">}</span></code></pre>
</div>
</div></code-tab></code-tabs>
<div class="paragraph">
<p>After this method is called, average value for the provided employee&#8217;s organization will be evicted from the <code>averageSalary</code> cache.
This will force <code>averageSalary(&#8230;&#8203;)</code> to recalculate the value next time it&#8217;s called.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<div class="paragraph">
<p>Note that this method receives employee as a parameter, while average values are saved in cache by <code>organizationID</code>.
To explicitly specify what is used as a cache key, we used key parameter of the annotation and Spring Expression Language.</p>
</div>
<div class="paragraph">
<p>The <code>#e.organizationId</code> expression means that we need to extract the value of <code>organizationId</code> property from <code>e</code> variable.
Essentially, <code>getOrganizationId()</code> method will be called on provided employee object and the returned value will be used as the cache key.</p>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
        <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<div class="copyright">
 © 2022 The Apache Software Foundation.<br/>
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation. 

</div>

    </article>
    <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<nav class="right-nav" data-swiftype-index='false'>
    <ul class="sectlevel1">
<li><a href="#overview">Overview</a></li>
<li><a href="#maven-configuration">Maven Configuration</a></li>
<li><a href="#apache-ignite-node-cache-manager-configuration">Apache Ignite Node Cache Manager Configuration</a>
<ul class="sectlevel2">
<li><a href="#cluster-connection-configuration">Cluster Connection Configuration</a></li>
<li><a href="#dynamic-caches">Dynamic Caches</a></li>
</ul>
</li>
<li><a href="#apache-ignite-thin-client-cache-manager-configuration">Apache Ignite Thin Client Cache Manager Configuration</a>
<ul class="sectlevel2">
<li><a href="#cluster-connection-configuration-2">Cluster Connection Configuration</a></li>
<li><a href="#dynamic-caches-2">Dynamic Caches</a></li>
</ul>
</li>
<li><a href="#example">Example</a></li>
</ul>
    <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
      
      
<footer>
</footer>

</nav>
    
</section>
<script type='module' src='/assets/js/code-copy-to-clipboard.js' async></script>

    <script>
    // inits deep anchors -- needs to be done here because of https://www.bryanbraun.com/anchorjs/#dont-run-it-too-late 
    anchors.add('.page-docs h1, .page-docs h2, .page-docs h3:not(.discrete), .page-docs h4, .page-docs h5');
    anchors.options = {
        placement: 'right',
        visible: 'always'
    };
    </script>
</body>
<script type='module' src='/assets/js/index.js?1651672546' async></script>
</html>
