You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/08/25 09:49:30 UTC
ignite git commit: IGNITE-1288: Implemented basic processor
infrastructure.
Repository: ignite
Updated Branches:
refs/heads/ignite-1288-1 [created] 7082b94fc
IGNITE-1288: Implemented basic processor infrastructure.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7082b94f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7082b94f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7082b94f
Branch: refs/heads/ignite-1288-1
Commit: 7082b94fc8ca9c62f823623bb388f581b2b05adb
Parents: a03584a
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 25 10:50:09 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 25 10:50:09 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/GridKernalContext.java | 6 +++
.../ignite/internal/GridKernalContextImpl.java | 12 ++++++
.../org/apache/ignite/internal/IgniteEx.java | 1 +
.../apache/ignite/internal/IgniteKernal.java | 5 +++
.../platform/PlatformNoopProcessor.java | 41 ++++++++++++++++++++
.../processors/platform/PlatformProcessor.java | 40 +++++++++++++++++++
.../ignite/internal/platform/Platform.java | 39 -------------------
.../internal/platform/PlatformBootstrap.java | 5 ++-
.../internal/platform/PlatformIgnition.java | 19 ++++-----
9 files changed, 118 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index f4da333..4e15a7a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@ -43,6 +43,7 @@ import org.apache.ignite.internal.processors.igfs.*;
import org.apache.ignite.internal.processors.job.*;
import org.apache.ignite.internal.processors.jobmetrics.*;
import org.apache.ignite.internal.processors.offheap.*;
+import org.apache.ignite.internal.processors.platform.*;
import org.apache.ignite.internal.processors.plugin.*;
import org.apache.ignite.internal.processors.port.*;
import org.apache.ignite.internal.processors.query.*;
@@ -562,4 +563,9 @@ public interface GridKernalContext extends Iterable<GridComponent> {
* @return {@code True} if local node in disconnected state.
*/
public boolean clientDisconnected();
+
+ /**
+ * @return Platform processor.
+ */
+ public PlatformProcessor platform();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index 01dadfd..d0a0fe7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -45,6 +45,7 @@ import org.apache.ignite.internal.processors.igfs.*;
import org.apache.ignite.internal.processors.job.*;
import org.apache.ignite.internal.processors.jobmetrics.*;
import org.apache.ignite.internal.processors.offheap.*;
+import org.apache.ignite.internal.processors.platform.*;
import org.apache.ignite.internal.processors.plugin.*;
import org.apache.ignite.internal.processors.port.*;
import org.apache.ignite.internal.processors.query.*;
@@ -236,6 +237,10 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
/** */
@GridToStringExclude
+ private PlatformProcessor platformProc;
+
+ /** */
+ @GridToStringExclude
private IgniteSpringHelper spring;
/** */
@@ -486,6 +491,8 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
dataStructuresProc = (DataStructuresProcessor)comp;
else if (comp instanceof ClusterProcessor)
cluster = (ClusterProcessor)comp;
+ else if (comp instanceof PlatformProcessor)
+ platformProc = (PlatformProcessor)comp;
else if (!(comp instanceof DiscoveryNodeValidationProcessor))
assert (comp instanceof GridPluginComponent) : "Unknown manager class: " + comp.getClass();
@@ -925,6 +932,11 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
return locNode != null ? (locNode.isClient() && disconnected) : false;
}
+ /** {@inheritDoc} */
+ @Override public PlatformProcessor platform() {
+ return platformProc;
+ }
+
/**
* @param disconnected Disconnected flag.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
index 4845d51..ef733cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
@@ -22,6 +22,7 @@ import org.apache.ignite.cluster.*;
import org.apache.ignite.internal.cluster.*;
import org.apache.ignite.internal.processors.cache.*;
import org.apache.ignite.internal.processors.hadoop.*;
+import org.apache.ignite.internal.processors.platform.*;
import org.apache.ignite.lang.*;
import org.jetbrains.annotations.*;
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/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 391d3dc..1db73bf 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
@@ -49,6 +49,7 @@ import org.apache.ignite.internal.processors.job.*;
import org.apache.ignite.internal.processors.jobmetrics.*;
import org.apache.ignite.internal.processors.nodevalidation.*;
import org.apache.ignite.internal.processors.offheap.*;
+import org.apache.ignite.internal.processors.platform.*;
import org.apache.ignite.internal.processors.plugin.*;
import org.apache.ignite.internal.processors.port.*;
import org.apache.ignite.internal.processors.query.*;
@@ -790,6 +791,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
IgniteComponentType.HADOOP.createIfInClassPath(ctx, cfg.getHadoopConfiguration() != null)));
startProcessor(new GridServiceProcessor(ctx));
startProcessor(new DataStructuresProcessor(ctx));
+ startProcessor(createComponent(PlatformProcessor.class, ctx));
// Start plugins.
for (PluginProvider provider : ctx.plugins().allProviders()) {
@@ -2971,6 +2973,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
if (cls.equals(DiscoveryNodeValidationProcessor.class))
return (T)new OsDiscoveryNodeValidationProcessor(ctx);
+ if (cls.equals(PlatformProcessor.class))
+ return (T)new PlatformNoopProcessor(ctx);
+
Class<T> implCls = null;
try {
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
new file mode 100644
index 0000000..245d4d7
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
@@ -0,0 +1,41 @@
+/*
+ * 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.internal.processors.platform;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.*;
+
+/**
+ * No-op processor.
+ */
+public class PlatformNoopProcessor extends GridProcessorAdapter implements PlatformProcessor {
+ public PlatformNoopProcessor(GridKernalContext ctx) {
+ super(ctx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public Ignite ignite() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long environmentPointer() {
+ return 0;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
new file mode 100644
index 0000000..137c31b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
@@ -0,0 +1,40 @@
+/*
+ * 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.internal.processors.platform;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.processors.*;
+
+/**
+ * Platform processor.
+ */
+public interface PlatformProcessor extends GridProcessor {
+ /**
+ * Get owning Ignite instance.
+ *
+ * @return Ignite instance.
+ */
+ public Ignite ignite();
+
+ /**
+ * Get environment pointer associated with this processor.
+ *
+ * @return Environment pointer.
+ */
+ public long environmentPointer();
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/platform/src/main/java/org/apache/ignite/internal/platform/Platform.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/Platform.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/Platform.java
deleted file mode 100644
index 6306723..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/Platform.java
+++ /dev/null
@@ -1,39 +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.internal.platform;
-
-import org.apache.ignite.*;
-
-/**
- * Platform entry point.
- */
-public interface Platform {
- /**
- * Get owning Ignite instance.
- *
- * @return Ignite instance.
- */
- public Ignite ignite();
-
- /**
- * Get environment pointer associated with this processor.
- *
- * @return Environment pointer.
- */
- public long environmentPointer();
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
index 1044445..faee665 100644
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
+++ b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.platform;
import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.processors.platform.*;
/**
* Platform bootstrap. Responsible for starting Ignite node with non-Java platform.
@@ -29,7 +30,7 @@ public interface PlatformBootstrap {
* @param cfg Configuration.
* @param envPtr Environment pointer.
* @param dataPtr Optional pointer to additional data required for startup.
- * @return Ignite node.
+ * @return Platform processor.
*/
- public Platform start(IgniteConfiguration cfg, long envPtr, long dataPtr);
+ public PlatformProcessor start(IgniteConfiguration cfg, long envPtr, long dataPtr);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7082b94f/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
index 685cded..2d31307 100644
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
+++ b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.platform;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.platform.*;
import org.apache.ignite.internal.processors.resource.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.lang.*;
@@ -35,7 +36,7 @@ import java.util.*;
@SuppressWarnings("UnusedDeclaration")
public class PlatformIgnition {
/** Map with active instances. */
- private static final HashMap<String, Platform> instances = new HashMap<>();
+ private static final HashMap<String, PlatformProcessor> instances = new HashMap<>();
/**
* Start Ignite node in platform mode.
@@ -47,14 +48,14 @@ public class PlatformIgnition {
* @param dataPtr Optional pointer to additional data required for startup.
* @return Ignite instance.
*/
- public static synchronized Platform start(@Nullable String springCfgPath, @Nullable String gridName,
+ public static synchronized PlatformProcessor start(@Nullable String springCfgPath, @Nullable String gridName,
int factoryId, long envPtr, long dataPtr) {
if (envPtr <= 0)
throw new IgniteException("Environment pointer must be positive.");
ClassLoader oldClsLdr = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(Platform.class.getClassLoader());
+ Thread.currentThread().setContextClassLoader(PlatformProcessor.class.getClassLoader());
try {
IgniteConfiguration cfg = configuration(springCfgPath);
@@ -66,9 +67,9 @@ public class PlatformIgnition {
PlatformBootstrap bootstrap = bootstrap(factoryId);
- Platform proc = bootstrap.start(cfg, envPtr, dataPtr);
+ PlatformProcessor proc = bootstrap.start(cfg, envPtr, dataPtr);
- Platform old = instances.put(gridName, proc);
+ PlatformProcessor old = instances.put(gridName, proc);
assert old == null;
@@ -85,7 +86,7 @@ public class PlatformIgnition {
* @param gridName Grid name.
* @return Instance or {@code null} if it doesn't exist (never started or stopped).
*/
- @Nullable public static synchronized Platform instance(@Nullable String gridName) {
+ @Nullable public static synchronized PlatformProcessor instance(@Nullable String gridName) {
return instances.get(gridName);
}
@@ -96,7 +97,7 @@ public class PlatformIgnition {
* @return Environment pointer or {@code 0} in case grid with such name doesn't exist.
*/
public static synchronized long environmentPointer(@Nullable String gridName) {
- Platform proc = instance(gridName);
+ PlatformProcessor proc = instance(gridName);
return proc != null ? proc.environmentPointer() : 0;
}
@@ -110,7 +111,7 @@ public class PlatformIgnition {
*/
public static synchronized boolean stop(@Nullable String gridName, boolean cancel) {
if (Ignition.stop(gridName, cancel)) {
- Platform old = instances.remove(gridName);
+ PlatformProcessor old = instances.remove(gridName);
assert old != null;
@@ -126,7 +127,7 @@ public class PlatformIgnition {
* @param cancel Cancel flag.
*/
public static synchronized void stopAll(boolean cancel) {
- for (Platform proc : instances.values())
+ for (PlatformProcessor proc : instances.values())
Ignition.stop(proc.ignite().name(), cancel);
instances.clear();