Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5EFFD10B2D for ; Tue, 20 Oct 2015 11:51:29 +0000 (UTC) Received: (qmail 6453 invoked by uid 500); 20 Oct 2015 11:51:29 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 6370 invoked by uid 500); 20 Oct 2015 11:51:29 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 6248 invoked by uid 99); 20 Oct 2015 11:51:29 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2015 11:51:29 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id F2A39E0ACB; Tue, 20 Oct 2015 11:51:28 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Tue, 20 Oct 2015 11:51:29 -0000 Message-Id: <93721867ae324e21a31f05a8a5b617d4@git.apache.org> In-Reply-To: <7491f325388543b49a22c13a1d2af625@git.apache.org> References: <7491f325388543b49a22c13a1d2af625@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/7] ignite git commit: IGNITE-1653 fixes IGNITE-1653 fixes Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/50cf42a3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/50cf42a3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/50cf42a3 Branch: refs/heads/ignite-1093-2 Commit: 50cf42a3137fe31c00177042eb65001253aad518 Parents: bc6bf5f Author: Anton Vinogradov Authored: Mon Oct 19 11:54:49 2015 +0300 Committer: Anton Vinogradov Committed: Mon Oct 19 11:54:49 2015 +0300 ---------------------------------------------------------------------- examples-lgpl/config/filesystem/README.txt | 8 - examples-lgpl/config/filesystem/core-site.xml | 42 ----- .../config/filesystem/example-igfs.xml | 151 ---------------- examples-lgpl/config/servlet/README.txt | 8 - examples-lgpl/config/servlet/WEB-INF/web.xml | 36 ---- .../java8/cluster/ClusterGroupExample.java | 86 ---------- .../examples/java8/cluster/package-info.java | 22 --- .../java8/computegrid/ComputeAsyncExample.java | 75 -------- .../computegrid/ComputeBroadcastExample.java | 102 ----------- .../computegrid/ComputeCallableExample.java | 75 -------- .../computegrid/ComputeClosureExample.java | 71 -------- .../computegrid/ComputeRunnableExample.java | 64 ------- .../java8/computegrid/package-info.java | 22 --- .../java8/datagrid/CacheAffinityExample.java | 137 --------------- .../java8/datagrid/CacheApiExample.java | 105 ----------- .../java8/datagrid/CacheAsyncApiExample.java | 85 --------- .../examples/java8/datagrid/package-info.java | 22 --- .../IgniteExecutorServiceExample.java | 70 -------- .../java8/datastructures/package-info.java | 22 --- .../examples/java8/events/EventsExample.java | 135 --------------- .../examples/java8/events/package-info.java | 22 --- .../java8/messaging/MessagingExample.java | 166 ------------------ .../messaging/MessagingPingPongExample.java | 113 ------------ .../examples/java8/messaging/package-info.java | 22 --- .../misc/schedule/ComputeScheduleExample.java | 68 -------- .../java8/misc/schedule/package-info.java | 22 --- .../streaming/StreamTransformerExample.java | 101 ----------- .../java8/streaming/StreamVisitorExample.java | 172 ------------------- .../examples/java8/streaming/package-info.java | 22 --- examples/config/hibernate/README.txt | 8 - .../hibernate/example-hibernate-L2-cache.xml | 64 ------- pom.xml | 132 +++++++------- 32 files changed, 66 insertions(+), 2184 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/config/filesystem/README.txt ---------------------------------------------------------------------- diff --git a/examples-lgpl/config/filesystem/README.txt b/examples-lgpl/config/filesystem/README.txt deleted file mode 100644 index 4f6ae88..0000000 --- a/examples-lgpl/config/filesystem/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -FileSystem Configuration Example --------------------------------- - -This folder contains configuration files for IgniteFs examples located in -org.apache.ignite.examples.igfs package. - -- example-igfs.xml file is used to start Apache Ignite nodes with IgniteFS configured -- core-site.xml file is used to run Hadoop FS driver over IgniteFs http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/config/filesystem/core-site.xml ---------------------------------------------------------------------- diff --git a/examples-lgpl/config/filesystem/core-site.xml b/examples-lgpl/config/filesystem/core-site.xml deleted file mode 100644 index a7a027c..0000000 --- a/examples-lgpl/config/filesystem/core-site.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - fs.default.name - igfs:/// - - - - - fs.igfs.impl - org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem - - - - - fs.AbstractFileSystem.igfs.impl - org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem - - http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/config/filesystem/example-igfs.xml ---------------------------------------------------------------------- diff --git a/examples-lgpl/config/filesystem/example-igfs.xml b/examples-lgpl/config/filesystem/example-igfs.xml deleted file mode 100644 index d009d46..0000000 --- a/examples-lgpl/config/filesystem/example-igfs.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - Spring file for ignite configuration with client available endpoints. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 127.0.0.1:47500..47509 - - - - - - - - http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/config/servlet/README.txt ---------------------------------------------------------------------- diff --git a/examples-lgpl/config/servlet/README.txt b/examples-lgpl/config/servlet/README.txt deleted file mode 100644 index 20d4b90..0000000 --- a/examples-lgpl/config/servlet/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -Servlet Configuration Example ------------------------------ - -This folder contains web.xml file that demonstrates how to configure any servlet container -to start a Apache Ignite node inside a Web application. - -For more information on available configuration properties, etc. refer to our documentation: -http://apacheignite.readme.io/docs/web-session-clustering http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/config/servlet/WEB-INF/web.xml ---------------------------------------------------------------------- diff --git a/examples-lgpl/config/servlet/WEB-INF/web.xml b/examples-lgpl/config/servlet/WEB-INF/web.xml deleted file mode 100644 index de4b3a0..0000000 --- a/examples-lgpl/config/servlet/WEB-INF/web.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - IgniteConfigurationFilePath - config/default-config.xml - - - - org.apache.ignite.startup.servlet.ServletContextListenerStartup - - http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/ClusterGroupExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/ClusterGroupExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/ClusterGroupExample.java deleted file mode 100644 index caea8a7..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/ClusterGroupExample.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.cluster; - -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCluster; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.cluster.ClusterGroup; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.examples.ExamplesUtils; - -/** - * Demonstrates new functional APIs. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ClusterGroupExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2)) - return; - - System.out.println(); - System.out.println("Compute example started."); - - IgniteCluster cluster = ignite.cluster(); - - // Say hello to all nodes in the cluster, including local node. - sayHello(ignite, cluster); - - // Say hello to all remote nodes. - sayHello(ignite, cluster.forRemotes()); - - // Pick random node out of remote nodes. - ClusterGroup randomNode = cluster.forRemotes().forRandom(); - - // Say hello to a random node. - sayHello(ignite, randomNode); - - // Say hello to all nodes residing on the same host with random node. - sayHello(ignite, cluster.forHost(randomNode.node())); - - // Say hello to all nodes that have current CPU load less than 50%. - sayHello(ignite, cluster.forPredicate(n -> n.metrics().getCurrentCpuLoad() < 0.5)); - } - } - - /** - * Print 'Hello' message on remote nodes. - * - * @param ignite Ignite. - * @param grp Cluster group. - * @throws IgniteException If failed. - */ - private static void sayHello(Ignite ignite, final ClusterGroup grp) throws IgniteException { - // Print out hello message on all cluster nodes. - ignite.compute(grp).broadcast( - () -> System.out.println(">>> Hello Node: " + grp.ignite().cluster().localNode().id())); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/package-info.java deleted file mode 100644 index b96e98a..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/cluster/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Cluster group example. - */ -package org.apache.ignite.examples.java8.cluster; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeAsyncExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeAsyncExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeAsyncExample.java deleted file mode 100644 index 8d9cc64..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeAsyncExample.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.computegrid; - -import java.util.ArrayList; -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCompute; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteFuture; -import org.apache.ignite.lang.IgniteRunnable; - -/** - * Demonstrates a simple use of {@link IgniteRunnable}. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ComputeAsyncExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println("Compute asynchronous example started."); - - // Enable asynchronous mode. - IgniteCompute compute = ignite.compute().withAsync(); - - Collection> futs = new ArrayList<>(); - - // Iterate through all words in the sentence and create runnable jobs. - for (final String word : "Print words using runnable".split(" ")) { - // Execute runnable on some node. - compute.run(() -> { - System.out.println(); - System.out.println(">>> Printing '" + word + "' on this node from ignite job."); - }); - - futs.add(compute.future()); - } - - // Wait for completion of all futures. - futs.forEach(IgniteFuture::get); - - System.out.println(); - System.out.println(">>> Finished printing words using runnable execution."); - System.out.println(">>> Check all nodes for output (this node is also part of the cluster)."); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeBroadcastExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeBroadcastExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeBroadcastExample.java deleted file mode 100644 index 1aed33b..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeBroadcastExample.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.computegrid; - -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; - -/** - * Demonstrates broadcasting computations within cluster. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ComputeBroadcastExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Compute broadcast example started."); - - // Print hello message on all nodes. - hello(ignite); - - // Gather system info from all nodes. - gatherSystemInfo(ignite); - } - } - - /** - * Print 'Hello' message on all nodes. - * - * @param ignite Ignite instance. - * @throws IgniteException If failed. - */ - private static void hello(Ignite ignite) throws IgniteException { - // Print out hello message on all nodes. - ignite.compute().broadcast(() -> { - System.out.println(); - System.out.println(">>> Hello Node! :)"); - }); - - System.out.println(); - System.out.println(">>> Check all nodes for hello message output."); - } - - /** - * Gather system info from all nodes and print it out. - * - * @param ignite Ignite instance. - * @throws IgniteException if failed. - */ - private static void gatherSystemInfo(Ignite ignite) throws IgniteException { - // Gather system info from all nodes. - Collection res = ignite.compute().broadcast(() -> { - System.out.println(); - System.out.println("Executing task on node: " + ignite.cluster().localNode().id()); - - return "Node ID: " + ignite.cluster().localNode().id() + "\n" + - "OS: " + System.getProperty("os.name") + " " + System.getProperty("os.version") + " " + - System.getProperty("os.arch") + "\n" + - "User: " + System.getProperty("user.name") + "\n" + - "JRE: " + System.getProperty("java.runtime.name") + " " + - System.getProperty("java.runtime.version"); - }); - - // Print result. - System.out.println(); - System.out.println("Nodes system information:"); - System.out.println(); - - res.forEach(r -> { - System.out.println(r); - System.out.println(); - }); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeCallableExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeCallableExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeCallableExample.java deleted file mode 100644 index cadb447..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeCallableExample.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.computegrid; - -import java.util.ArrayList; -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteCallable; - -/** - * Demonstrates using of {@link IgniteCallable} job execution on the cluster. - *

- * This example takes a sentence composed of multiple words and counts number of non-space - * characters in the sentence by having each compute job count characters in each individual - * word. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ComputeCallableExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Compute callable example started."); - - Collection> calls = new ArrayList<>(); - - // Iterate through all words in the sentence and create callable jobs. - for (String word : "Count characters using callable".split(" ")) { - calls.add(() -> { - System.out.println(); - System.out.println(">>> Printing '" + word + "' on this node from ignite job."); - - return word.length(); - }); - } - - // Execute collection of callables on the ignite. - Collection res = ignite.compute().call(calls); - - int sum = res.stream().mapToInt(i -> i).sum(); - - System.out.println(); - System.out.println(">>> Total number of characters in the phrase is '" + sum + "'."); - System.out.println(">>> Check all nodes for output (this node is also part of the cluster)."); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeClosureExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeClosureExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeClosureExample.java deleted file mode 100644 index c4d3c94..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeClosureExample.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.computegrid; - -import java.util.Arrays; -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; - -/** - * Demonstrates a simple use of Ignite with reduce closure. - *

- * This example splits a phrase into collection of words, computes their length on different - * nodes and then computes total amount of non-whitespaces characters in the phrase. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ComputeClosureExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Compute closure example started."); - - // Execute closure on all cluster nodes. - Collection res = ignite.compute().apply( - (String word) -> { - System.out.println(); - System.out.println(">>> Printing '" + word + "' on this node from ignite job."); - - // Return number of letters in the word. - return word.length(); - }, - // Job parameters. Ignite will create as many jobs as there are parameters. - Arrays.asList("Count characters using closure".split(" ")) - ); - - int sum = res.stream().mapToInt(i -> i).sum(); - - System.out.println(); - System.out.println(">>> Total number of characters in the phrase is '" + sum + "'."); - System.out.println(">>> Check all nodes for output (this node is also part of the cluster)."); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeRunnableExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeRunnableExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeRunnableExample.java deleted file mode 100644 index acb9893..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/ComputeRunnableExample.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.computegrid; - -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCompute; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteRunnable; - -/** - * Demonstrates a simple use of {@link IgniteRunnable}. - *

- * Remote nodes should always be 0started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class ComputeRunnableExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println("Compute runnable example started."); - - IgniteCompute compute = ignite.compute(); - - // Iterate through all words in the sentence and create runnable jobs. - for (final String word : "Print words using runnable".split(" ")) { - // Execute runnable on some node. - compute.run(() -> { - System.out.println(); - System.out.println(">>> Printing '" + word + "' on this node from ignite job."); - }); - } - - System.out.println(); - System.out.println(">>> Finished printing words using runnable execution."); - System.out.println(">>> Check all nodes for output (this node is also part of the cluster)."); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/package-info.java deleted file mode 100644 index cda49ef..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/computegrid/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Basic examples for computational ignite functionality. - */ -package org.apache.ignite.examples.java8.computegrid; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAffinityExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAffinityExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAffinityExample.java deleted file mode 100644 index f4a3b03..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAffinityExample.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.datagrid; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Map; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -import org.apache.ignite.IgniteCluster; -import org.apache.ignite.IgniteCompute; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteRunnable; - -/** - * This example demonstrates the simplest code that populates the distributed cache - * and co-locates simple closure execution with each key. The goal of this particular - * example is to provide the simplest code example of this logic. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will - * start node with {@code examples/config/example-ignite.xml} configuration. - */ -public final class CacheAffinityExample { - /** Cache name. */ - private static final String CACHE_NAME = CacheAffinityExample.class.getSimpleName(); - - /** Number of keys. */ - private static final int KEY_CNT = 20; - - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Cache affinity example started."); - - CacheConfiguration cfg = new CacheConfiguration<>(); - - cfg.setCacheMode(CacheMode.PARTITIONED); - cfg.setName(CACHE_NAME); - - try (IgniteCache cache = ignite.getOrCreateCache(cfg)) { - for (int i = 0; i < KEY_CNT; i++) - cache.put(i, Integer.toString(i)); - - // Co-locates jobs with data using IgniteCompute.affinityRun(...) method. - visitUsingAffinityRun(); - - // Co-locates jobs with data using IgniteCluster.mapKeysToNodes(...) method. - visitUsingMapKeysToNodes(); - } - } - } - - /** - * Collocates jobs with keys they need to work on using - * {@link IgniteCompute#affinityRun(String, Object, IgniteRunnable)} method. - */ - private static void visitUsingAffinityRun() { - Ignite ignite = Ignition.ignite(); - - final IgniteCache cache = ignite.cache(CACHE_NAME); - - for (int i = 0; i < KEY_CNT; i++) { - int key = i; - - // This runnable will execute on the remote node where - // data with the given key is located. Since it will be co-located - // we can use local 'peek' operation safely. - ignite.compute().affinityRun(CACHE_NAME, key, - () -> System.out.println("Co-located using affinityRun [key= " + key + ", value=" + cache.localPeek(key) + ']')); - } - } - - /** - * Collocates jobs with keys they need to work on using {@link IgniteCluster#mapKeysToNodes(String, Collection)} - * method. The difference from {@code affinityRun(...)} method is that here we process multiple keys - * in a single job. - */ - private static void visitUsingMapKeysToNodes() { - final Ignite ignite = Ignition.ignite(); - - Collection keys = new ArrayList<>(KEY_CNT); - - for (int i = 0; i < KEY_CNT; i++) - keys.add(i); - - // Map all keys to nodes. - Map> mappings = ignite.cluster().mapKeysToNodes(CACHE_NAME, keys); - - for (Map.Entry> mapping : mappings.entrySet()) { - ClusterNode node = mapping.getKey(); - - final Collection mappedKeys = mapping.getValue(); - - if (node != null) { - // Bring computations to the nodes where the data resides (i.e. collocation). - ignite.compute(ignite.cluster().forNode(node)).run(() -> { - IgniteCache cache = ignite.cache(CACHE_NAME); - - // Peek is a local memory lookup, however, value should never be 'null' - // as we are co-located with node that has a given key. - for (Integer key : mappedKeys) - System.out.println("Co-located using mapKeysToNodes [key= " + key + - ", value=" + cache.localPeek(key) + ']'); - }); - } - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheApiExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheApiExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheApiExample.java deleted file mode 100644 index 1891a35..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheApiExample.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.datagrid; - -import java.util.concurrent.ConcurrentMap; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.examples.ExampleNodeStartup; - -/** - * This example demonstrates some of the cache rich API capabilities. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will - * start node with {@code examples/config/example-ignite.xml} configuration. - */ -public class CacheApiExample { - /** Cache name. */ - private static final String CACHE_NAME = CacheApiExample.class.getSimpleName(); - - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Cache API example started."); - - CacheConfiguration cfg = new CacheConfiguration<>(); - - cfg.setCacheMode(CacheMode.PARTITIONED); - cfg.setName(CACHE_NAME); - - try (IgniteCache cache = ignite.getOrCreateCache(cfg)) { - // Demonstrate atomic map operations. - atomicMapOperations(cache); - } - } - } - - /** - * Demonstrates cache operations similar to {@link ConcurrentMap} API. Note that - * cache API is a lot richer than the JDK {@link ConcurrentMap}. - * - * @throws IgniteException If failed. - */ - private static void atomicMapOperations(final IgniteCache cache) throws IgniteException { - System.out.println(); - System.out.println(">>> Cache atomic map operation examples."); - - // Put and return previous value. - String v = cache.getAndPut(1, "1"); - assert v == null; - - // Put and do not return previous value (all methods ending with 'x' return boolean). - // Performs better when previous value is not needed. - cache.put(2, "2"); - - // Put-if-absent. - boolean b1 = cache.putIfAbsent(4, "4"); - boolean b2 = cache.putIfAbsent(4, "44"); - assert b1 && !b2; - - // Invoke - assign new value based on previous value. - cache.put(6, "6"); - - cache.invoke(6, (entry, args) -> { - String val = entry.getValue(); - - entry.setValue(val + "6"); // Set new value based on previous value. - - return null; - }); - - // Replace. - cache.put(7, "7"); - b1 = cache.replace(7, "7", "77"); - b2 = cache.replace(7, "7", "777"); - assert b1 & !b2; - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAsyncApiExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAsyncApiExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAsyncApiExample.java deleted file mode 100644 index b457b27..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/CacheAsyncApiExample.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.datagrid; - -import java.util.ArrayList; -import java.util.Collection; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteCache; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteFuture; - -/** - * This example demonstrates some of the cache rich API capabilities. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will - * start node with {@code examples/config/example-ignite.xml} configuration. - */ -public class CacheAsyncApiExample { - /** Cache name. */ - private static final String CACHE_NAME = CacheAsyncApiExample.class.getSimpleName(); - - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws IgniteException { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Cache asynchronous API example started."); - - CacheConfiguration cfg = new CacheConfiguration<>(); - - cfg.setCacheMode(CacheMode.PARTITIONED); - cfg.setName(CACHE_NAME); - - try (IgniteCache cache = ignite.getOrCreateCache(cfg)) { - // Enable asynchronous mode. - IgniteCache asyncCache = cache.withAsync(); - - Collection> futs = new ArrayList<>(); - - // Execute several puts asynchronously. - for (int i = 0; i < 10; i++) { - asyncCache.put(i, String.valueOf(i)); - - futs.add(asyncCache.future()); - } - - // Wait for completion of all futures. - futs.forEach(IgniteFuture::get); - - // Execute get operation asynchronously. - asyncCache.get(1); - - // Asynchronously wait for result. - asyncCache.future().listen(fut -> - System.out.println("Get operation completed [value=" + fut.get() + ']')); - } - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/package-info.java deleted file mode 100644 index 0bd86a0..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datagrid/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Demonstrates data ignite cache usage. - */ -package org.apache.ignite.examples.java8.datagrid; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java deleted file mode 100644 index 0155144..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.datastructures; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; -import org.apache.ignite.Ignite; -import org.apache.ignite.Ignition; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteRunnable; - -/** - * Simple example to demonstrate usage of distributed executor service provided by Ignite. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public final class IgniteExecutorServiceExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws Exception If example execution failed. - */ - @SuppressWarnings({"TooBroadScope"}) - public static void main(String[] args) throws Exception { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Compute executor service example started."); - - // Get ignite-enabled executor service. - ExecutorService exec = ignite.executorService(); - - // Iterate through all words in the sentence and create callable jobs. - for (final String word : "Print words using runnable".split(" ")) { - // Execute runnable on some node. - exec.submit((IgniteRunnable)() -> { - System.out.println(); - System.out.println(">>> Printing '" + word + "' on this node from ignite job."); - }); - } - - exec.shutdown(); - - // Wait for all jobs to complete (0 means no limit). - exec.awaitTermination(0, TimeUnit.MILLISECONDS); - - System.out.println(); - System.out.println(">>> Check all nodes for output (this node is also part of the cluster)."); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java deleted file mode 100644 index 86f3423..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Demonstrates using of blocking and non-blocking queues and atomic data structures. - */ -package org.apache.ignite.examples.java8.datastructures; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java deleted file mode 100644 index df2d52b..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.events; - -import java.util.UUID; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.compute.ComputeTaskSession; -import org.apache.ignite.events.TaskEvent; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.lang.IgniteBiPredicate; -import org.apache.ignite.lang.IgnitePredicate; -import org.apache.ignite.lang.IgniteRunnable; -import org.apache.ignite.resources.TaskSessionResource; - -import static org.apache.ignite.events.EventType.EVTS_TASK_EXECUTION; - -/** - * Demonstrates event consume API that allows to register event listeners on remote nodes. - * Note that ignite events are disabled by default and must be specifically enabled, - * just like in {@code examples/config/example-ignite.xml} file. - *

- * Remote nodes should always be started with configuration: {@code 'ignite.sh examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start - * node with {@code examples/config/example-ignite.xml} configuration. - */ -public class EventsExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws Exception If example execution failed. - */ - public static void main(String[] args) throws Exception { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - System.out.println(); - System.out.println(">>> Events API example started."); - - // Listen to events happening on local node. - localListen(); - - // Listen to events happening on all cluster nodes. - remoteListen(); - - // Wait for a while while callback is notified about remaining puts. - Thread.sleep(1000); - } - } - - /** - * Listen to events that happen only on local node. - * - * @throws IgniteException If failed. - */ - private static void localListen() throws IgniteException { - System.out.println(); - System.out.println(">>> Local event listener example."); - - Ignite ignite = Ignition.ignite(); - - IgnitePredicate lsnr = evt -> { - System.out.println("Received task event [evt=" + evt.name() + ", taskName=" + evt.taskName() + ']'); - - return true; // Return true to continue listening. - }; - - // Register event listener for all local task execution events. - ignite.events().localListen(lsnr, EVTS_TASK_EXECUTION); - - // Generate task events. - ignite.compute().withName("example-event-task").run(() -> System.out.println("Executing sample job.")); - - // Unsubscribe local task event listener. - ignite.events().stopLocalListen(lsnr); - } - - /** - * Listen to events coming from all cluster nodes. - * - * @throws IgniteException If failed. - */ - private static void remoteListen() throws IgniteException { - System.out.println(); - System.out.println(">>> Remote event listener example."); - - // This optional local callback is called for each event notification - // that passed remote predicate listener. - IgniteBiPredicate locLsnr = (nodeId, evt) -> { - // Remote filter only accepts tasks whose name being with "good-task" prefix. - assert evt.taskName().startsWith("good-task"); - - System.out.println("Received task event [evt=" + evt.name() + ", taskName=" + evt.taskName()); - - return true; // Return true to continue listening. - }; - - // Remote filter which only accepts tasks whose name begins with "good-task" prefix. - IgnitePredicate rmtLsnr = evt -> evt.taskName().startsWith("good-task"); - - Ignite ignite = Ignition.ignite(); - - // Register event listeners on all nodes to listen for task events. - ignite.events().remoteListen(locLsnr, rmtLsnr, EVTS_TASK_EXECUTION); - - // Generate task events. - for (int i = 0; i < 10; i++) { - ignite.compute().withName(i < 5 ? "good-task-" + i : "bad-task-" + i).run(new IgniteRunnable() { - // Auto-inject task session. - @TaskSessionResource - private ComputeTaskSession ses; - - @Override public void run() { - System.out.println("Executing sample job for task: " + ses.getTaskName()); - } - }); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java deleted file mode 100644 index b402e78..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Demonstrates events management API. - */ -package org.apache.ignite.examples.java8.events; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java deleted file mode 100644 index 8b88708..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.messaging; - -import java.util.concurrent.CountDownLatch; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.IgniteMessaging; -import org.apache.ignite.Ignition; -import org.apache.ignite.cluster.ClusterGroup; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.examples.ExamplesUtils; - -/** - * Example that demonstrates how to exchange messages between nodes. Use such - * functionality for cases when you need to communicate to other nodes outside - * of ignite task. - *

- * To run this example you must have at least one remote node started. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public final class MessagingExample { - /** Number of messages. */ - private static final int MESSAGES_NUM = 10; - - /** Message topics. */ - private enum TOPIC { ORDERED, UNORDERED } - - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws IgniteException If example execution failed. - */ - public static void main(String[] args) throws Exception { - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2)) { - System.out.println(); - System.out.println(">>> Please start at least 2 cluster nodes to run example."); - System.out.println(); - - return; - } - - System.out.println(); - System.out.println(">>> Messaging example started."); - - // Group for remote nodes. - ClusterGroup rmtGrp = ignite.cluster().forRemotes(); - - // Listen for messages from remote nodes to make sure that they received all the messages. - int msgCnt = rmtGrp.nodes().size() * MESSAGES_NUM; - - CountDownLatch orderedLatch = new CountDownLatch(msgCnt); - CountDownLatch unorderedLatch = new CountDownLatch(msgCnt); - - localListen(ignite.message(ignite.cluster().forLocal()), orderedLatch, unorderedLatch); - - // Register listeners on all cluster nodes. - startListening(ignite, ignite.message(rmtGrp)); - - // Send unordered messages to all remote nodes. - for (int i = 0; i < MESSAGES_NUM; i++) - ignite.message(rmtGrp).send(TOPIC.UNORDERED, Integer.toString(i)); - - System.out.println(">>> Finished sending unordered messages."); - - // Send ordered messages to all remote nodes. - for (int i = 0; i < MESSAGES_NUM; i++) - ignite.message(rmtGrp).sendOrdered(TOPIC.ORDERED, Integer.toString(i), 0); - - System.out.println(">>> Finished sending ordered messages."); - System.out.println(">>> Check output on all nodes for message printouts."); - System.out.println(">>> Will wait for messages acknowledgements from all remote nodes."); - - orderedLatch.await(); - unorderedLatch.await(); - - System.out.println(">>> Messaging example finished."); - } - } - - /** - * Start listening to messages on remote cluster nodes. - * - * @param ignite Ignite. - * @param imsg Ignite messaging. - * @throws IgniteException If failed. - */ - private static void startListening(final Ignite ignite, IgniteMessaging imsg) throws IgniteException { - // Add ordered message listener. - imsg.remoteListen(TOPIC.ORDERED, (nodeId, msg) -> { - System.out.println("Received ordered message [msg=" + msg + ", fromNodeId=" + nodeId + ']'); - - try { - ignite.message(ignite.cluster().forNodeId(nodeId)).send(TOPIC.ORDERED, msg); - } - catch (IgniteException e) { - e.printStackTrace(); - } - - return true; // Return true to continue listening. - }); - - // Add unordered message listener. - imsg.remoteListen(TOPIC.UNORDERED, (nodeId, msg) -> { - System.out.println("Received unordered message [msg=" + msg + ", fromNodeId=" + nodeId + ']'); - - try { - ignite.message(ignite.cluster().forNodeId(nodeId)).send(TOPIC.UNORDERED, msg); - } - catch (IgniteException e) { - e.printStackTrace(); - } - - return true; // Return true to continue listening. - }); - } - - /** - * Listen for messages from remote nodes. - * - * @param imsg Ignite messaging. - * @param orderedLatch Latch for ordered messages acks. - * @param unorderedLatch Latch for unordered messages acks. - */ - private static void localListen( - IgniteMessaging imsg, - final CountDownLatch orderedLatch, - final CountDownLatch unorderedLatch - ) { - imsg.localListen(TOPIC.ORDERED, (nodeId, msg) -> { - orderedLatch.countDown(); - - // Return true to continue listening, false to stop. - return orderedLatch.getCount() > 0; - }); - - imsg.localListen(TOPIC.UNORDERED, (nodeId, msg) -> { - unorderedLatch.countDown(); - - // Return true to continue listening, false to stop. - return unorderedLatch.getCount() > 0; - }); - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java deleted file mode 100644 index b19b476..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * 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. - */ - -package org.apache.ignite.examples.java8.messaging; - -import java.util.concurrent.CountDownLatch; -import org.apache.ignite.Ignite; -import org.apache.ignite.IgniteException; -import org.apache.ignite.Ignition; -import org.apache.ignite.cluster.ClusterGroup; -import org.apache.ignite.examples.ExampleNodeStartup; -import org.apache.ignite.examples.ExamplesUtils; - -/** - * Demonstrates simple message exchange between local and remote nodes. - *

- * To run this example you must have at least one remote node started. - *

- * Remote nodes should always be started with special configuration file which - * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}. - *

- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node - * with {@code examples/config/example-ignite.xml} configuration. - */ -public class MessagingPingPongExample { - /** - * Executes example. - * - * @param args Command line arguments, none required. - * @throws Exception If example execution failed. - */ - public static void main(String[] args) throws Exception { - // Game is played over the default ignite. - try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) { - if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2)) - return; - - System.out.println(); - System.out.println(">>> Messaging ping-pong example started."); - - // Pick random remote node as a partner. - ClusterGroup nodeB = ignite.cluster().forRemotes().forRandom(); - - // Note that both nodeA and nodeB will always point to - // same nodes regardless of whether they were implicitly - // serialized and deserialized on another node as part of - // anonymous closure's state during its remote execution. - - // Set up remote player. - ignite.message(nodeB).remoteListen(null, (nodeId, rcvMsg) -> { - System.out.println("Received message [msg=" + rcvMsg + ", sender=" + nodeId + ']'); - - if ("PING".equals(rcvMsg)) { - ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "PONG"); - - return true; // Continue listening. - } - - return false; // Unsubscribe. - }); - - int MAX_PLAYS = 10; - - final CountDownLatch cnt = new CountDownLatch(MAX_PLAYS); - - // Set up local player. - ignite.message().localListen(null, (nodeId, rcvMsg) -> { - System.out.println("Received message [msg=" + rcvMsg + ", sender=" + nodeId + ']'); - - if (cnt.getCount() == 1) { - ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "STOP"); - - cnt.countDown(); - - return false; // Stop listening. - } - else if ("PONG".equals(rcvMsg)) - ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "PING"); - else - throw new IgniteException("Received unexpected message: " + rcvMsg); - - cnt.countDown(); - - return true; // Continue listening. - }); - - // Serve! - ignite.message(nodeB).send(null, "PING"); - - // Wait til the game is over. - try { - cnt.await(); - } - catch (InterruptedException e) { - System.err.println("Hm... let us finish the game!\n" + e); - } - } - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/50cf42a3/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java ---------------------------------------------------------------------- diff --git a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java b/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java deleted file mode 100644 index 75180cf..0000000 --- a/examples-lgpl/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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. - */ - -/** - * - * Demonstrates how to exchange messages between nodes. - */ -package org.apache.ignite.examples.java8.messaging; \ No newline at end of file