| <!DOCTYPE html>
|
| <!--[if IE]><![endif]-->
|
| <html>
|
|
|
| <head>
|
| <meta charset="utf-8">
|
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
| <title>Namespace Apache.Ignite.Core.Cache.Store
|
| | Apache Ignite.NET </title>
|
| <meta name="viewport" content="width=device-width">
|
| <meta name="title" content="Namespace Apache.Ignite.Core.Cache.Store
|
| | Apache Ignite.NET ">
|
| <meta name="generator" content="docfx 2.58.4.0">
|
|
|
| <link rel="shortcut icon" href="../images/favicon.ico">
|
| <link rel="stylesheet" href="../styles/docfx.vendor.css">
|
| <link rel="stylesheet" href="../styles/docfx.css">
|
| <link rel="stylesheet" href="../styles/main.css">
|
| <meta property="docfx:navrel" content="../toc.html">
|
| <meta property="docfx:tocrel" content="toc.html">
|
|
|
| <meta property="docfx:rel" content="../">
|
|
|
| </head>
|
| <body data-spy="scroll" data-target="#affix" data-offset="120">
|
| <div id="wrapper">
|
| <header>
|
|
|
| <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
|
| <div class="container">
|
| <div class="navbar-header">
|
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
|
| <span class="sr-only">Toggle navigation</span>
|
| <span class="icon-bar"></span>
|
| <span class="icon-bar"></span>
|
| <span class="icon-bar"></span>
|
| </button>
|
|
|
| <a class="navbar-brand" href="../index.html">
|
| <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
|
| </a>
|
| </div>
|
| <div class="collapse navbar-collapse" id="navbar">
|
| <form class="navbar-form navbar-right" role="search" id="search">
|
| <div class="form-group">
|
| <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
|
| </div>
|
| </form>
|
| </div>
|
| </div>
|
| </nav>
|
|
|
| <div class="subnav navbar navbar-default">
|
| <div class="container hide-when-search" id="breadcrumb">
|
| <ul class="breadcrumb">
|
| <li></li>
|
| </ul>
|
| </div>
|
| </div>
|
| </header>
|
| <div class="container body-content">
|
|
|
| <div id="search-results">
|
| <div class="search-list">Search Results for <span></span></div>
|
| <div class="sr-items">
|
| <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
|
| </div>
|
| <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
|
| </div>
|
| </div>
|
| <div role="main" class="container body-content hide-when-search">
|
|
|
| <div class="sidenav hide-when-search">
|
| <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
|
| <div class="sidetoggle collapse" id="sidetoggle">
|
| <div id="sidetoc"></div>
|
| </div>
|
| </div>
|
| <div class="article row grid-right">
|
| <div class="col-md-10">
|
| <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Store">
|
|
|
| <h1 id="Apache_Ignite_Core_Cache_Store" data-uid="Apache.Ignite.Core.Cache.Store" class="text-break">Namespace Apache.Ignite.Core.Cache.Store
|
| </h1>
|
| <div class="markdown level0 summary"></div>
|
| <div class="markdown level0 conceptual"></div>
|
| <div class="markdown level0 remarks"></div>
|
| <h3 id="classes">Classes
|
| </h3>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheParallelLoadStoreAdapter-3.html">CacheParallelLoadStoreAdapter<TK, TV, TData></a></h4>
|
| <section><p>Cache storage adapter with parallel loading in LoadAll method. </p> |
| </section>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter-2.html">CacheStoreAdapter<TK, TV></a></h4>
|
| <section><p>Cache storage convenience adapter. It provides default implementation for |
| bulk operations, such as <code>LoadAll</code>, <code>PutAll</code> and |
| <code>RemoveAll</code> by sequentially calling corresponding <code>Load</code>, |
| <code>Put</code> and <code>Remove</code> operations. Use this adapter whenever |
| such behaviour is acceptable. However in many cases it maybe more preferable |
| to take advantage of database batch update functionality, and therefore default |
| adapter implementation may not be the best option. |
| <p> |
| Note that <code>LoadCache</code> method has empty implementation because it is |
| essentially up to the user to invoke it with specific arguments.</p> |
| </section>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheStoreException.html">CacheStoreException</a></h4>
|
| <section><p>Indicates an error during CacheStore operation.</p> |
| </section>
|
| <h3 id="interfaces">Interfaces
|
| </h3>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a></h4>
|
| <section><p>Non-generic base type for <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a>, used only for configuration property. |
| Users should implement generic <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a>.</p> |
| </section>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a></h4>
|
| <section><p>API for cache persistent storage for read-through and write-through behavior. |
| <p> |
| Generic argument types depend on <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeepBinaryInStore">KeepBinaryInStore</a> property. |
| When <code>true</code> (default), cache store operates on <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObject.html">IBinaryObject</a> instances. |
| Otherwise, generic arguments should be the same as in corresponding <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html">ICache<TK, TV></a>. |
| <p> |
| Persistent store is configured in Ignite's Spring XML configuration file via |
| <code>CacheConfiguration.setStore()</code> property. If you have an implementation |
| of cache store in .NET, you should use special Java wrapper which accepts assembly name and |
| class name of .NET store implementation (both properties are mandatory).</p> |
| <p>Optionally, you may specify "properies" property to set any property values on an instance of your store. |
| <example> |
| Here is an example:<p> |
| <pre><code><bean class="org.apache.ignite.configuration.CacheConfiguration"> |
| ... |
| <property name="cacheStoreFactory"> |
| <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory"> |
| <property name="assemblyName" value="MyAssembly"/> |
| <property name="className" value="MyApp.MyCacheStore"/> |
| <property name="properties"> |
| <map> |
| <entry key="IntProperty"> |
| <value type="java.lang.Integer">42</value> |
| </entry> |
| <entry key="StringProperty" value="String value"/> |
| </map> |
| </property> |
| </bean> |
| </property> |
| ... |
| </bean></code></pre> |
| <p></example> |
| Assemply name and class name are passed to <a target="_blank" href="http://msdn.microsoft.com/en-us/library/d133hta4.aspx"><strong>System.Activator.CreateInstance(String, String)</strong></a> |
| method during node startup to create an instance of cache store. Refer to its documentation for details. |
| <p> |
| All transactional operations of this API are provided with ongoing <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html">ITransaction</a>, |
| if any. You can attach any metadata to transaction, e.g. to recognize if several operations |
| belong to the same transaction or not. |
| <example> |
| Here is an example of how attach a ODBC connection as transaction metadata:<p> |
| <pre><code>OdbcConnection conn = tx.Meta("some.name"); |
| |
| if (conn == null) |
| { |
| conn = ...; // Create or get connection. |
| |
| // Store connection in transaction metadata, so it can be accessed |
| // for other operations on the same transaction. |
| tx.AddMeta("some.name", conn); |
| }</code></pre> |
| <p></example></p> |
| </section>
|
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStoreSession.html">ICacheStoreSession</a></h4>
|
| <section><p>Session for the cache store operations. The main purpose of cache store session |
| is to hold context between multiple store invocations whenever in transaction. For example, |
| you can save current database connection in the session <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStoreSession.html#Apache_Ignite_Core_Cache_Store_ICacheStoreSession_Properties">Properties</a> map. You can then |
| commit this connection in the <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html#Apache_Ignite_Core_Cache_Store_ICacheStore_2_SessionEnd_System_Boolean_">SessionEnd(Boolean)</a> method.</p> |
| </section>
|
| </article>
|
| </div>
|
|
|
| <div class="hidden-sm col-md-2" role="complementary">
|
| <div class="sideaffix">
|
| <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
|
| <h5>In This Article</h5>
|
| <div></div>
|
| </nav>
|
| </div>
|
| </div>
|
| </div>
|
| </div>
|
|
|
| <footer>
|
| <div class="grad-bottom"></div>
|
| <div class="footer">
|
| <div class="container">
|
| <span class="pull-right">
|
| <a href="#top">Back to top</a>
|
| </span>
|
| © 2015 - 2019 The Apache Software Foundation
|
|
|
| </div>
|
| </div>
|
| </footer>
|
| </div>
|
|
|
| <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
|
| <script type="text/javascript" src="../styles/docfx.js"></script>
|
| <script type="text/javascript" src="../styles/main.js"></script>
|
| </body>
|
| </html>
|