|
GridGain 3.6.0e
Enterprise Edition |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.gridgain.grid.GridFactory
public class GridFactory
This class defines a factory for the main GridGain API. It controls Grid life cycle and allows listening for grid events.
GridCommandLineLoaderGridJbossLoaderGridWeblogicStartup and GridWeblogicShutdownGridWebsphereLoaderGridGlassfishLoaderGridServletLoaderGridFactory.start() method to start grid with default configuration. You can also use
GridConfigurationAdapter to override some default configuration. Below is an
example on how to start grid with URI deployment.
GridConfigurationAdapter cfg = new GridConfigurationAdapter();
GridUriDeployment deploySpi = new GridUriDeployment();
deploySpi.setUriList(Collections.singletonList("classes://tmp/output/classes"));
cfg.setDeploymentSpi(deploySpi);
GridFactory.start(cfg);
Here is how a grid instance can be configured from Spring XML configuration file. The
example below configures a grid instance with additional user attributes
(see GridNode.attributes()) and specifies a grid name:
<bean id="grid.cfg" class="org.gridgain.grid.GridConfigurationAdapter" scope="singleton">
...
<property name="gridName" value="grid"/>
<property name="userAttributes">
<map>
<entry key="group" value="worker"/>
<entry key="grid.node.benchmark">
<bean class="org.gridgain.grid.benchmarks.GridLocalNodeBenchmark" init-method="start"/>
</entry>
</map>
</property>
...
</bean>
A grid instance with Spring configuration above can be started as following. Note that
you do not need to pass path to Spring XML file if you are using
GRIDGAIN_HOME/config/default-spring.xml. Also note, that the path can be
absolute or relative to GRIDGAIN_HOME.
...
G.start("/path/to/spring/xml/file.xml");
...
You can also instantiate grid directly from Spring without using GridFactory.
For more information refer to GridSpringBean documentation.
| Wiki | |
| Forum |
![]() |
![]() |
![]() |
![]() |
| Field Summary | |
|---|---|
static int |
KILL_EXIT_CODE
This is kill code that can be used by external tools, like Shell scripts, to auto-stop the GridGain JVM process without restarting. |
static int |
RESTART_EXIT_CODE
This is restart code that can be used by external tools, like Shell scripts, to auto-restart the GridGain JVM process. |
| Constructor Summary | |
|---|---|
protected |
GridFactory()
Enforces singleton. |
| Method Summary | |
|---|---|
static void |
addListener(GridFactoryListener lsnr)
Adds a lsnr for grid life cycle events. |
static List<Grid> |
allGrids()
Gets a list of all grids started so far. |
static Grid |
grid()
Gets an instance of default no-name grid. |
static Grid |
grid(String name)
Gets an named grid instance. |
static Grid |
grid(UUID localNodeId)
Gets a grid instance for given local node ID. |
static void |
in(org.springframework.context.ApplicationContext ctx,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(GridConfiguration cfg,
org.springframework.context.ApplicationContext ctx,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(GridConfiguration cfg,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(GridInClosure<Grid>... ps)
Automatically starts default grid, executes provided closures and stop the grid. |
static void |
in(String springCfgPath,
org.springframework.context.ApplicationContext ctx,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(String springCfgPath,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(URL springCfgUrl,
org.springframework.context.ApplicationContext ctx,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static void |
in(URL springCfgUrl,
GridInClosure<Grid>... ps)
Automatically starts specified grid, executes provided closures and stop the grid. |
static boolean |
isDaemon()
Gets daemon flag. |
static void |
kill(boolean cancel,
boolean wait)
Stops all started grids. |
static boolean |
removeListener(GridFactoryListener lsnr)
Removes lsnr added by GridFactory.addListener(GridFactoryListener) method. |
static void |
restart(boolean cancel,
boolean wait)
Restarts all started grids. |
static void |
setDaemon(boolean daemon)
Sets daemon flag. |
static Grid |
start()
Starts grid with default configuration. |
static Grid |
start(org.springframework.context.ApplicationContext springCtx)
Starts grid with default configuration. |
static Grid |
start(GridConfiguration cfg)
Starts grid with given configuration. |
static Grid |
start(GridConfiguration cfg,
org.springframework.context.ApplicationContext springCtx)
Starts grid with given configuration. |
static Grid |
start(String springCfgPath)
Starts all grids specified within given Spring XML configuration file. |
static Grid |
start(String springCfgPath,
org.springframework.context.ApplicationContext ctx)
Starts all grids specified within given Spring XML configuration file. |
static Grid |
start(URL springCfgUrl)
Starts all grids specified within given Spring XML configuration file URL. |
static Grid |
start(URL springCfgUrl,
org.springframework.context.ApplicationContext ctx)
Starts all grids specified within given Spring XML configuration file URL. |
static GridFactoryState |
state()
Gets state of grid default grid. |
static GridFactoryState |
state(String name)
Gets states of named grid. |
static boolean |
stop(boolean cancel)
Stops default grid. |
static boolean |
stop(boolean cancel,
boolean wait)
Stops default grid. |
static boolean |
stop(String name,
boolean cancel)
Stops named grid. |
static boolean |
stop(String name,
boolean cancel,
boolean wait)
Stops named grid. |
static void |
stopAll(boolean cancel)
Stops all started grids. |
static void |
stopAll(boolean cancel,
boolean wait)
Stops all started grids. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int RESTART_EXIT_CODE
Note that standard ggstart.{sh|bat} scripts support restarting when JVM process exits with this code.
public static final int KILL_EXIT_CODE
| Constructor Detail |
|---|
protected GridFactory()
| Method Detail |
|---|
public static void setDaemon(boolean daemon)
If daemon flag it set then all grid instances created by the factory will be
daemon, i.e. the local node for these instances will be a daemon node. Note that
if daemon flag is set - it will override the same settings in GridConfiguration.isDaemon().
Note that you can set on and off daemon flag at will.
daemon - Daemon flag to set.public static boolean isDaemon()
If daemon flag it set then all grid instances created by the factory will be
daemon, i.e. the local node for these instances will be a daemon node. Note that
if daemon flag is set - it will override the same settings in GridConfiguration.isDaemon().
Note that you can set on and off daemon flag at will.
public static GridFactoryState state()
public static GridFactoryState state(@Nullable
String name)
null, then state of
default no-name grid is returned.
name - Grid name. If name is null, then state of
default no-name grid is returned.
public static boolean stop(boolean cancel)
G.stop(null,cancel) apply.
Note that method does not wait for all tasks to be completed.
cancel - If true then all jobs currently executing on
default grid will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from execution
true if default grid instance was indeed stopped,
false otherwise (if it was not started).
public static boolean stop(boolean cancel,
boolean wait)
G.stop(null,cancel,wait) apply.
If wait parameter is set to true then it will wait for all
tasks to be finished.
cancel - If true then all jobs currently executing on
default grid will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from execution.wait - If true then method will wait for all tasks being
executed until they finish their execution.
true if default grid instance was indeed stopped,
false otherwise (if it was not started).
public static boolean stop(@Nullable
String name,
boolean cancel)
cancel flag is set to true then
all jobs currently executing on local node will be interrupted. If
grid name is null, then default no-name grid will be stopped.
It does not wait for the tasks to finish their execution.
name - Grid name. If null, then default no-name grid will
be stopped.cancel - If true then all jobs currently will be cancelled
by calling GridJob.cancel() method. Note that just like with
Thread.interrupt(), it is up to the actual job to exit from
execution. If false, then jobs currently running will not be
canceled. In either case, grid node will wait for completion of all
jobs running on it before stopping.
true if named grid instance was indeed found and stopped,
false otherwise (the instance with given name was
not found).
public static boolean stop(@Nullable
String name,
boolean cancel,
boolean wait)
cancel flag is set to true then
all jobs currently executing on local node will be interrupted. If
grid name is null, then default no-name grid will be stopped.
If wait parameter is set to true then grid will wait for all
tasks to be finished.
name - Grid name. If null, then default no-name grid will
be stopped.cancel - If true then all jobs currently will be cancelled
by calling GridJob.cancel() method. Note that just like with
Thread.interrupt(), it is up to the actual job to exit from
execution. If false, then jobs currently running will not be
canceled. In either case, grid node will wait for completion of all
jobs running on it before stopping.wait - If true then method will wait for all tasks being
executed until they finish their execution.
true if named grid instance was indeed found and stopped,
false otherwise (the instance with given name was
not found).public static void stopAll(boolean cancel)
cancel flag is set to true then
all jobs currently executing on local node will be interrupted.
It does not wait for the tasks to finish their execution.
Note: it is usually safer and more appropriate to stop grid instances individually instead of blanket operation. In most cases, the party that started the grid instance should be responsible for stopping it.
cancel - If true then all jobs currently executing on
all grids will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from execution
public static void stopAll(boolean cancel,
boolean wait)
cancel flag is set to true then
all jobs currently executing on local node will be interrupted.
If wait parameter is set to true then grid will wait for all
tasks to be finished.
Note: it is usually safer and more appropriate to stop grid instances individually instead of blanket operation. In most cases, the party that started the grid instance should be responsible for stopping it.
cancel - If true then all jobs currently executing on
all grids will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from executionwait - If true then method will wait for all tasks being
executed until they finish their execution.
public static void restart(boolean cancel,
boolean wait)
cancel flag is set to true then
all jobs currently executing on the local node will be interrupted.
If wait parameter is set to true then grid will wait for all
tasks to be finished.
Note: it is usually safer and more appropriate to stop grid instances individually instead of blanket operation. In most cases, the party that started the grid instance should be responsible for stopping it.
Note also that restarting functionality only works with the tools that specifically support GridGain's protocol for restarting. Currently only standard ggstart.{sh|bat} scripts support restarting of JVM GridGain's process.
cancel - If true then all jobs currently executing on
all grids will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from execution.wait - If true then method will wait for all tasks being
executed until they finish their execution.GridFactory.RESTART_EXIT_CODE
public static void kill(boolean cancel,
boolean wait)
cancel flag is set to true then
all jobs currently executing on the local node will be interrupted.
If wait parameter is set to true then grid will wait for all
tasks to be finished.
Note: it is usually safer and more appropriate to stop grid instances individually instead of blanket operation. In most cases, the party that started the grid instance should be responsible for stopping it.
Note that upon completion of this method, the JVM with forcefully exist with
exit code GridFactory.KILL_EXIT_CODE.
cancel - If true then all jobs currently executing on
all grids will be cancelled by calling GridJob.cancel()
method. Note that just like with Thread.interrupt(), it is
up to the actual job to exit from execution.wait - If true then method will wait for all tasks being
executed until they finish their execution.GridFactory.KILL_EXIT_CODE
public static Grid start()
throws GridException
GRIDGAIN_HOME/config/default-spring.xml
configuration file. If such file is not found, then all system defaults will be used.
GridException - If default grid could not be started. This exception will be thrown
also if default grid has already been started.
public static Grid start(@Nullable
org.springframework.context.ApplicationContext springCtx)
throws GridException
GRIDGAIN_HOME/config/default-spring.xml
configuration file. If such file is not found, then all system defaults will be used.
GridException - If default grid could not be started. This exception will be thrown
also if default grid has already been started.springCtx - Optional Spring application context.
public static Grid start(GridConfiguration cfg)
throws GridException
GridException - If grid could not be started. This exception will be thrown
also if named grid has already been started.cfg - Grid configuration. This cannot be null.
public static Grid start(GridConfiguration cfg,
@Nullable
org.springframework.context.ApplicationContext springCtx)
throws GridException
GridException - If grid could not be started. This exception will be thrown
also if named grid has already been started.cfg - Grid configuration. This cannot be null.springCtx - Optional Spring application context, possibly null. If provided, this
context can be injected into grid tasks and grid jobs using
@GridSpringApplicationContextResource annotation.
public static Grid start(@Nullable
String springCfgPath)
throws GridException
Usually Spring XML configuration file will contain only one Grid definition. Note that Grid configuration bean(s) is retrieved form configuration file by type, so the name of the Grid configuration bean is ignored.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid.springCfgPath - Spring XML configuration file path or URL.
public static void in(@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
If default grid has already been started prior to this method invocation then
closures are executed with existing grid and not starting a new one. Accordingly
this method does not stop the default grid if it didn't start it.
Note also that this method assumes there are no concurrent modifications
of default grid state (either via stop() or start() methods).
GridException - If grid could not be started or Spring XML configuration file
is invalid. It is also thrown if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped (if it was started by this method).
ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(@Nullable
String springCfgPath,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
springCfgPath - Spring XML configuration file path or URL.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(@Nullable
String springCfgPath,
@Nullable
org.springframework.context.ApplicationContext ctx,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
springCfgPath - Spring XML configuration file path or URL.ctx - Optional spring application context.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(@Nullable
org.springframework.context.ApplicationContext ctx,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
ctx - Optional spring application context.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(GridConfiguration cfg,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
cfg - Grid configuration. This cannot be null.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(GridConfiguration cfg,
@Nullable
org.springframework.context.ApplicationContext ctx,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
cfg - Grid configuration. This cannot be null.ctx - Optional spring application context.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(@Nullable
URL springCfgUrl,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
springCfgUrl - Grid configuration.ps - Set of closures to execute. If none provided - this method is no-op.
public static void in(@Nullable
URL springCfgUrl,
@Nullable
org.springframework.context.ApplicationContext ctx,
@Nullable
GridInClosure<Grid>... ps)
throws GridException
true.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid. It is also thrown
if closure produces an exception.
Note that if a closure produces an exception no further closures will be executed and grid instance will be stopped.
springCfgUrl - Grid configuration.ctx - Optional spring application context.ps - Set of closures to execute. If none provided - this method is no-op.
public static Grid start(String springCfgPath,
@Nullable
org.springframework.context.ApplicationContext ctx)
throws GridException
Usually Spring XML configuration file will contain only one Grid definition. Note that Grid configuration bean(s) is retrieved form configuration file by type, so the name of the Grid configuration bean is ignored.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid.springCfgPath - Spring XML configuration file path or URL. This cannot be null.ctx - Spring application context.
public static Grid start(URL springCfgUrl)
throws GridException
Usually Spring XML configuration file will contain only one Grid definition. Note that Grid configuration bean(s) is retrieved form configuration file by type, so the name of the Grid configuration bean is ignored.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid.springCfgUrl - Spring XML configuration file URL. This cannot be null.
public static Grid start(URL springCfgUrl,
@Nullable
org.springframework.context.ApplicationContext ctx)
throws GridException
Usually Spring XML configuration file will contain only one Grid definition. Note that Grid configuration bean(s) is retrieved form configuration file by type, so the name of the Grid configuration bean is ignored.
GridException - If grid could not be started or configuration
read. This exception will be thrown also if grid with given name has already
been started or Spring XML configuration file is invalid.springCfgUrl - Spring XML configuration file URL. This cannot be null.ctx - Optional Spring application context.
public static Grid grid()
throws IllegalStateException
This method is identical to G.grid(null) apply.
IllegalStateException - Thrown if default grid was not properly
initialized or grid instance was stopped or was not started.
null.public static List<Grid> allGrids()
public static Grid grid(UUID localNodeId)
throws IllegalStateException
IllegalStateException - Thrown if grid was not properly
initialized or grid instance was stopped or was not started.localNodeId - ID of local node the requested grid instance is managing.
null.
public static Grid grid(@Nullable
String name)
throws IllegalStateException
null or empty string,
then default no-name grid will be returned. Note that caller of this method
should not assume that it will return the same instance every time.
Note that Java VM can run multiple grid instances and every grid instance (and its node) can belong to a different grid. Grid name defines what grid a particular grid instance (and correspondingly its node) belongs to.
IllegalStateException - Thrown if default grid was not properly
initialized or grid instance was stopped or was not started.name - Grid name to which requested grid instance belongs to. If null,
then grid instance belonging to a default no-name grid will be returned.
null.public static void addListener(GridFactoryListener lsnr)
Note that unlike other listeners in GridGain this listener will be notified from the same thread that triggers the state change. Because of that it is the responsibility of the user to make sure that listener logic is light-weight and properly handles (catches) any runtime exceptions, if any are expected.
lsnr - Listener for grid life cycle events. If this listener was already added
this method is no-op.public static boolean removeListener(GridFactoryListener lsnr)
GridFactory.addListener(GridFactoryListener) method.
lsnr - Listener to remove.
true if lsnr was added before, false otherwise.
|
GridGain 3.6.0e
Enterprise Edition |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
|
GridGain - Real Time Big Data
|
|
|