Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-45 cc5bd026e -> b34d7ae4e


# ignite-45 - service example fixes..


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c2bfd696
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c2bfd696
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c2bfd696

Branch: refs/heads/ignite-45
Commit: c2bfd69626523b0d35bae08b4aa39dbec46a8724
Parents: 0eb53a9
Author: Dmitiry Setrakyan <dsetrak...@gridgain.com>
Authored: Sun Mar 22 01:12:29 2015 -0700
Committer: Dmitiry Setrakyan <dsetrak...@gridgain.com>
Committed: Sun Mar 22 01:12:29 2015 -0700

----------------------------------------------------------------------
 .../examples/servicegrid/ServicesExample.java   | 17 ++++--------
 .../servicegrid/SimpleMapServiceImpl.java       | 29 ++++++++------------
 2 files changed, 18 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c2bfd696/examples/src/main/java/org/apache/ignite/examples/servicegrid/ServicesExample.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/servicegrid/ServicesExample.java
 
b/examples/src/main/java/org/apache/ignite/examples/servicegrid/ServicesExample.java
index c8786cf..1a10211 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/servicegrid/ServicesExample.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/servicegrid/ServicesExample.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.examples.servicegrid;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
 import org.apache.ignite.examples.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
@@ -45,19 +44,15 @@ public class ServicesExample {
      * @throws Exception If example execution failed.
      */
     public static void main(String[] args) throws Exception {
-        try (Ignite ignite = 
Ignition.start("examples/config/example-ignite.xml")) {
-            ClusterGroup rmts = ignite.cluster().forRemotes();
-
-            if (rmts.nodes().isEmpty()) {
-                System.err.println(">>>");
-                System.err.println(">>> Must start at least one remote node 
using " +
-                    ExampleNodeStartup.class.getSimpleName() + '.');
-                System.err.println(">>>");
+        // Mark this node as client node.
+        Ignition.setClientMode(true);
 
+        try (Ignite ignite = 
Ignition.start("examples/config/example-ignite.xml")) {
+            if (!ExamplesUtils.hasServerNodes(ignite))
                 return;
-            }
 
-            IgniteServices svcs = ignite.services(rmts);
+            // Deploy services only on server nodes.
+            IgniteServices svcs = 
ignite.services(ignite.cluster().forServers());
 
             try {
                 // Deploy cluster singleton.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c2bfd696/examples/src/main/java/org/apache/ignite/examples/servicegrid/SimpleMapServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/ignite/examples/servicegrid/SimpleMapServiceImpl.java
 
b/examples/src/main/java/org/apache/ignite/examples/servicegrid/SimpleMapServiceImpl.java
index 5be2352..72bf7ef 100644
--- 
a/examples/src/main/java/org/apache/ignite/examples/servicegrid/SimpleMapServiceImpl.java
+++ 
b/examples/src/main/java/org/apache/ignite/examples/servicegrid/SimpleMapServiceImpl.java
@@ -18,63 +18,58 @@
 package org.apache.ignite.examples.servicegrid;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.services.*;
 
 /**
- * Simple service which loops infinitely and prints out a counter.
+ * Simple service which utilizes Ignite cache as a mechanism to provide
+ * distributed {@link SimpleMapService} functionality.
  */
 public class SimpleMapServiceImpl<K, V> implements Service, 
SimpleMapService<K, V> {
     /** Serial version UID. */
     private static final long serialVersionUID = 0L;
 
-    /** Cache name. */
-    private static final String CACHE_NAME = 
SimpleMapServiceImpl.class.getSimpleName();
-
     /** Ignite instance. */
     @IgniteInstanceResource
     private Ignite ignite;
 
     /** Underlying cache map. */
-    private IgniteCache<K, V> map;
+    private IgniteCache<K, V> cache;
 
     /** {@inheritDoc} */
     @Override public void put(K key, V val) {
-        map.put(key, val);
+        cache.put(key, val);
     }
 
     /** {@inheritDoc} */
     @Override public V get(K key) {
-        return map.get(key);
+        return cache.get(key);
     }
 
     /** {@inheritDoc} */
     @Override public void clear() {
-        map.clear();
+        cache.clear();
     }
 
     /** {@inheritDoc} */
     @Override public int size() {
-        return map.size();
+        return cache.size();
     }
 
     /** {@inheritDoc} */
     @Override public void cancel(ServiceContext ctx) {
-        ignite.destroyCache(CACHE_NAME);
+        ignite.destroyCache(ctx.name());
 
         System.out.println("Service was cancelled: " + ctx.name());
     }
 
     /** {@inheritDoc} */
     @Override public void init(ServiceContext ctx) throws Exception {
-        CacheConfiguration<K, V> cfg = new CacheConfiguration<>();
-
-        cfg.setCacheMode(CacheMode.PARTITIONED);
-        cfg.setName(CACHE_NAME);
-
-        map = ignite.getOrCreateCache(cfg);
+        // Create a new cache for every service deployment.
+        // Note that we use service name as cache name, which allows
+        // for each service deployment to use its own isolated cache.
+        cache = ignite.getOrCreateCache(new CacheConfiguration<>(ctx.name()));
 
         System.out.println("Service was initialized: " + ctx.name());
     }

Reply via email to