Repository: incubator-ignite Updated Branches: refs/heads/ignite-45 9373ed3c3 -> b784d45d0
#IGNITE-45 - Example Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b784d45d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b784d45d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b784d45d Branch: refs/heads/ignite-45 Commit: b784d45d041ef382b2a5885a7e95864bf1fd2735 Parents: 9373ed3 Author: Alexey Goncharuk <[email protected]> Authored: Tue Mar 10 22:56:01 2015 -0700 Committer: Alexey Goncharuk <[email protected]> Committed: Tue Mar 10 22:56:01 2015 -0700 ---------------------------------------------------------------------- .../examples/datagrid/CacheApiExample.java | 23 ++++++++++++-------- .../apache/ignite/internal/IgniteKernal.java | 16 ++++++++++++-- .../processors/cache/IgniteCacheProxy.java | 12 +++++----- .../GridDhtPartitionsExchangeFuture.java | 2 -- 4 files changed, 34 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b784d45d/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java ---------------------------------------------------------------------- diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java index d702555..1a28133 100644 --- a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java +++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java @@ -18,6 +18,8 @@ package org.apache.ignite.examples.datagrid; import org.apache.ignite.*; +import org.apache.ignite.cache.*; +import org.apache.ignite.configuration.*; import org.apache.ignite.lang.*; import javax.cache.processor.*; @@ -34,7 +36,7 @@ import java.util.concurrent.*; */ public class CacheApiExample { /** Cache name. */ - private static final String CACHE_NAME = "partitioned"; + private static final String CACHE_NAME = CacheApiExample.class.getSimpleName(); /** * Executes example. @@ -43,15 +45,20 @@ public class CacheApiExample { * @throws IgniteException If example execution failed. */ public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-cache.xml")) { + try (Ignite ignite = Ignition.start("examples/config/example-compute.xml")) { System.out.println(); System.out.println(">>> Cache API example started."); - // Clean up caches on all nodes before run. - ignite.jcache(CACHE_NAME).clear(); + CacheConfiguration<Integer, String> cfg = new CacheConfiguration<>(); - // Demonstrate atomic map operations. - atomicMapOperations(); + cfg.setCacheMode(CacheMode.PARTITIONED); + + cfg.setName(CACHE_NAME); + + try (IgniteCache<Integer, String> cache = ignite.createCache(cfg)) { + // Demonstrate atomic map operations. + atomicMapOperations(cache); + } } } @@ -61,12 +68,10 @@ public class CacheApiExample { * * @throws IgniteException If failed. */ - private static void atomicMapOperations() throws IgniteException { + private static void atomicMapOperations(final IgniteCache<Integer, String> cache) throws IgniteException { System.out.println(); System.out.println(">>> Cache atomic map operation examples."); - final IgniteCache<Integer, String> cache = Ignition.ignite().jcache(CACHE_NAME); - // Put and return previous value. String v = cache.getAndPut(1, "1"); assert v == null; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b784d45d/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index 8cd64a0..6c26b51 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -74,6 +74,7 @@ import org.apache.ignite.plugin.*; import org.apache.ignite.spi.*; import org.jetbrains.annotations.*; +import javax.cache.*; import javax.management.*; import java.io.*; import java.lang.management.*; @@ -2254,8 +2255,19 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public <K, V> IgniteCache<K, V> createCache(CacheConfiguration<K, V> cacheCfg) { - // TODO: implement. - return null; + guard(); + + try { + ctx.cache().dynamicStartCache(cacheCfg).get(); + + return ctx.cache().publicJCache(cacheCfg.getName()); + } + catch (IgniteCheckedException e) { + throw new CacheException(e); + } + finally { + unguard(); + } } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b784d45d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java index 7d17e16..a1792d7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java @@ -34,7 +34,6 @@ import org.apache.ignite.mxbean.*; import org.jetbrains.annotations.*; import javax.cache.*; -import javax.cache.CacheManager; import javax.cache.configuration.*; import javax.cache.expiry.*; import javax.cache.integration.*; @@ -1238,11 +1237,12 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V /** {@inheritDoc} */ @Override public void close() { - // TODO IGNITE-45 (Support start/close/destroy cache correctly) - CacheManager cacheMgr = getCacheManager(); - - if (cacheMgr != null) // cacheMgr == null means cache is closed. - cacheMgr.destroyCache(getName()); + try { + ctx.kernalContext().cache().dynamicStopCache(ctx.name()).get(); + } + catch (IgniteCheckedException e) { + throw new CacheException(e); + } } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b784d45d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index 234538a..236ec6c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -427,8 +427,6 @@ public class GridDhtPartitionsExchangeFuture<K, V> extends GridFutureAdapter<Aff assert oldestNode.get() != null; if (init.compareAndSet(false, true)) { - U.debug(log, "Initializing exchange future: " + reqs); - if (isDone()) return;
