Repository: ignite
Updated Branches:
  refs/heads/ignite-5075-pds [created] 7ae45b4b6


IGNITE-GG-12163 IgniteComponentType mechanism employed to instantiate PDS 
managers


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

Branch: refs/heads/ignite-5075-pds
Commit: 8004287cfef875089a926a5422ebe09e4dc0ad7b
Parents: a14a594
Author: Sergey Chugunov <[email protected]>
Authored: Wed May 10 17:40:24 2017 +0300
Committer: Sergey Chugunov <[email protected]>
Committed: Wed May 10 17:40:24 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/IgniteComponentType.java    | 17 +++++++++++++-
 .../processors/cache/GridCacheProcessor.java    | 24 ++++----------------
 .../GridCacheDatabaseSharedManager.java         |  6 +++--
 .../database/file/FilePageStoreManager.java     |  7 +++---
 .../database/wal/FileWriteAheadLogManager.java  |  6 +++--
 5 files changed, 32 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8004287c/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
index 0cd2fc1..1b70ab4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
@@ -89,7 +89,22 @@ public enum IgniteComponentType {
         
"org.apache.ignite.internal.processors.schedule.IgniteNoopScheduleProcessor",
         
"org.apache.ignite.internal.processors.schedule.IgniteScheduleProcessor",
         "ignite-schedule"
-    );
+    ),
+
+    /** Database manager used when persistence is enabled. */
+    DATABASE_MANAGER(null,
+        
"org.apache.ignite.internal.processors.cache.database.GridCacheDatabaseSharedManager",
+        "ignite-pds"),
+
+    /** Page store manager used when persistence is enabled. */
+    PAGE_STORE_MANAGER(null,
+        
"org.apache.ignite.internal.processors.cache.database.file.FilePageStoreManager",
+        "ignite-pds"),
+
+    /** Write-Ahead Log manager used when persistence is enabled. */
+    WAL_MANAGER(null,
+        
"org.apache.ignite.internal.processors.cache.database.wal.FileWriteAheadLogManager",
+        "ignite-pds");
 
     /** No-op class name. */
     private final String noOpClsName;

http://git-wip-us.apache.org/repos/asf/ignite/blob/8004287c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index bf13f18..fb82ac6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -2147,27 +2147,11 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
         IgniteWriteAheadLogManager walMgr = null;
 
         if (ctx.config().isPersistentEnable()) {
-            ClassLoader clsLdr = U.gridClassLoader();
+            dbMgr = IgniteComponentType.DATABASE_MANAGER.create(ctx, false);
 
-            try {
-                dbMgr = (IgniteCacheDatabaseSharedManager) clsLdr
-                    
.loadClass("org.apache.ignite.internal.processors.cache.database.GridCacheDatabaseSharedManager")
-                    .getConstructor(IgniteConfiguration.class)
-                    .newInstance(ctx.config());
-
-                pageStoreMgr = (IgnitePageStoreManager) clsLdr
-                    
.loadClass("org.apache.ignite.internal.processors.cache.database.file.FilePageStoreManager")
-                    .getConstructor(IgniteConfiguration.class)
-                    .newInstance(ctx.config());
-
-                walMgr = (IgniteWriteAheadLogManager) clsLdr
-                    
.loadClass("org.apache.ignite.internal.processors.cache.database.wal.FileWriteAheadLogManager")
-                    .getConstructor(IgniteConfiguration.class)
-                    .newInstance(ctx.config());
-            }
-            catch (Exception e) {
-                throw new IgniteCheckedException("Failed to initialize 
persistent store", e);
-            }
+            pageStoreMgr = IgniteComponentType.PAGE_STORE_MANAGER.create(ctx, 
false);
+
+            walMgr = IgniteComponentType.WAL_MANAGER.create(ctx, false);
         }
         else
             dbMgr = new IgniteCacheDatabaseSharedManager();

http://git-wip-us.apache.org/repos/asf/ignite/blob/8004287c/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
index e5523ca..605be12 100755
--- 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
+++ 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
@@ -259,9 +259,11 @@ public class GridCacheDatabaseSharedManager extends 
IgniteCacheDatabaseSharedMan
     private IgniteCacheSnapshotManager snapshotMgr;
 
     /**
-     * @param cfg Ignite configuration.
+     * @param ctx Kernal context.
      */
-    public GridCacheDatabaseSharedManager(IgniteConfiguration cfg) {
+    public GridCacheDatabaseSharedManager(GridKernalContext ctx) {
+        IgniteConfiguration cfg = ctx.config();
+
         dbCfg = cfg.getPersistenceConfiguration();
 
         assert dbCfg != null : "PageStore should not be created if persistence 
is disabled.";

http://git-wip-us.apache.org/repos/asf/ignite/blob/8004287c/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/file/FilePageStoreManager.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/file/FilePageStoreManager.java
 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/file/FilePageStoreManager.java
index fdfd3e0..ae32462 100755
--- 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/file/FilePageStoreManager.java
+++ 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/file/FilePageStoreManager.java
@@ -79,15 +79,16 @@ public class FilePageStoreManager extends 
GridCacheSharedManagerAdapter implemen
     private final Set<Integer> cachesWithoutIdx = 
Collections.newSetFromMap(new ConcurrentHashMap<Integer, Boolean>());
 
     /**
-     * @param igniteCfg Ignite configuration.
+     * @param ctx Kernal context.
      */
-    public FilePageStoreManager(IgniteConfiguration igniteCfg) {
+    public FilePageStoreManager(GridKernalContext ctx) {
+        igniteCfg = ctx.config();
+
         PersistenceConfiguration pstCfg = 
igniteCfg.getPersistenceConfiguration();
 
         assert pstCfg != null : "WAL should not be created if persistence is 
disabled.";
 
         this.pstCfg = pstCfg;
-        this.igniteCfg = igniteCfg;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/8004287c/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/FileWriteAheadLogManager.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/FileWriteAheadLogManager.java
 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/FileWriteAheadLogManager.java
index e53a92d..7b39369 100644
--- 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/FileWriteAheadLogManager.java
+++ 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/wal/FileWriteAheadLogManager.java
@@ -157,9 +157,11 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
     private ThreadLocal<WALPointer> lastWALPtr = new ThreadLocal<>();
 
     /**
-     * @param igCfg Ignite Configuration.
+     * @param ctx Kernal context.
      */
-    public FileWriteAheadLogManager(IgniteConfiguration igCfg) {
+    public FileWriteAheadLogManager(GridKernalContext ctx) {
+        igCfg = ctx.config();
+
         PersistenceConfiguration dbCfg = igCfg.getPersistenceConfiguration();
 
         assert dbCfg != null : "WAL should not be created if persistence is 
disabled.";

Reply via email to