IGNITE-4196: Added means to specify port for H2 debug console. This closes #1486.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b2462607 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b2462607 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b2462607 Branch: refs/heads/ignite-3477-merge2.0 Commit: b2462607d726608a39033e9b7c7327c59cb28c73 Parents: 9ff2a8f Author: Sergey Kalashnikov <skalashni...@gridgain.com> Authored: Fri Feb 3 11:41:14 2017 +0300 Committer: devozerov <voze...@gridgain.com> Committed: Fri Feb 3 11:41:14 2017 +0300 ---------------------------------------------------------------------- .../main/java/org/apache/ignite/IgniteSystemProperties.java | 8 ++++++++ .../internal/processors/query/h2/IgniteH2Indexing.java | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/b2462607/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index 083bb72..c479076 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -318,6 +318,14 @@ public final class IgniteSystemProperties { public static final String IGNITE_H2_DEBUG_CONSOLE = "IGNITE_H2_DEBUG_CONSOLE"; /** + * This property allows to specify user defined port which H2 indexing SPI will use + * to start H2 debug console on. If this property is not set or set to 0, H2 debug + * console will use system-provided dynamic port. + * This property is only relevant when {@link #IGNITE_H2_DEBUG_CONSOLE} property is set. + */ + public static final String IGNITE_H2_DEBUG_CONSOLE_PORT = "IGNITE_H2_DEBUG_CONSOLE_PORT"; + + /** * If this property is set to {@code true} then shared memory space native debug will be enabled. */ public static final String IGNITE_IPC_SHMEM_SPACE_DEBUG = "IGNITE_IPC_SHMEM_SPACE_DEBUG"; http://git-wip-us.apache.org/repos/asf/ignite/blob/b2462607/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java index 505a3af..69a65fe 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java @@ -174,8 +174,10 @@ import org.jetbrains.annotations.Nullable; import org.jsr166.ConcurrentHashMap8; import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_DEBUG_CONSOLE; +import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_DEBUG_CONSOLE_PORT; import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_INDEXING_CACHE_CLEANUP_PERIOD; import static org.apache.ignite.IgniteSystemProperties.IGNITE_H2_INDEXING_CACHE_THREAD_USAGE_TIMEOUT; +import static org.apache.ignite.IgniteSystemProperties.getInteger; import static org.apache.ignite.IgniteSystemProperties.getString; import static org.apache.ignite.internal.processors.query.GridQueryIndexType.FULLTEXT; import static org.apache.ignite.internal.processors.query.GridQueryIndexType.GEO_SPATIAL; @@ -1754,11 +1756,15 @@ public class IgniteH2Indexing implements GridQueryIndexing { if (getString(IGNITE_H2_DEBUG_CONSOLE) != null) { Connection c = DriverManager.getConnection(dbUrl); + int port = getInteger(IGNITE_H2_DEBUG_CONSOLE_PORT, 0); + WebServer webSrv = new WebServer(); - Server web = new Server(webSrv, "-webPort", "0"); + Server web = new Server(webSrv, "-webPort", Integer.toString(port)); web.start(); String url = webSrv.addSession(c); + U.quietAndInfo(log, "H2 debug console URL: " + url); + try { Server.openBrowser(url); }