# IGNITE-45 - Renaiming
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/59aa480d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/59aa480d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/59aa480d Branch: refs/heads/ignite-release-test-no-mod Commit: 59aa480db230eadc93f4228b00ed658f6e5d0d8c Parents: 0ab931d Author: Valentin Kulichenko <vkuliche...@gridgain.com> Authored: Mon Mar 23 02:12:05 2015 -0700 Committer: Valentin Kulichenko <vkuliche...@gridgain.com> Committed: Mon Mar 23 02:12:05 2015 -0700 ---------------------------------------------------------------------- modules/aop/readme.txt_ | 33 +++++ modules/aws/readme.txt_ | 32 +++++ modules/geospatial/readme.txt_ | 33 +++++ modules/hadoop/readme.txt_ | 33 +++++ modules/hibernate/readme.txt_ | 33 +++++ modules/indexing/readme.txt_ | 33 +++++ modules/jcl/readme.txt_ | 33 +++++ modules/jta/readme.txt_ | 32 +++++ modules/log4j/readme.txt_ | 32 +++++ modules/rest-http/readme.txt_ | 33 +++++ modules/scalar/readme.txt_ | 32 +++++ modules/schedule/readme.txt_ | 32 +++++ modules/schema-import/readme.txt_ | 214 +++++++++++++++++++++++++++++++++ modules/slf4j/readme.txt_ | 32 +++++ modules/spring/readme.txt_ | 33 +++++ modules/ssh/readme.txt_ | 32 +++++ modules/urideploy/readme.txt_ | 33 +++++ modules/web/readme.txt_ | 34 ++++++ 18 files changed, 769 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/aop/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/aop/readme.txt_ b/modules/aop/readme.txt_ new file mode 100644 index 0000000..4d04630 --- /dev/null +++ b/modules/aop/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite AOP Module +------------------------ + +Apache Ignite AOP module provides capability to turn any Java method to a distributed closure by +adding @Gridify annotation to it. + +To enable AOP module when starting a standalone node, move 'optional/ignite-aop' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing AOP Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add AOP module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-aop</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/aws/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/aws/readme.txt_ b/modules/aws/readme.txt_ new file mode 100644 index 0000000..1819915 --- /dev/null +++ b/modules/aws/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite AWS Module +------------------------ + +Apache Ignite AWS module provides S3-based implementations of checkpoint SPI and IP finder for TCP discovery. + +To enable AWS module when starting a standalone node, move 'optional/ignite-aws' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing AWS Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add AWS module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-aws</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/geospatial/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/geospatial/readme.txt_ b/modules/geospatial/readme.txt_ new file mode 100644 index 0000000..4688c26 --- /dev/null +++ b/modules/geospatial/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite Geospatial Module +----------------------------- + +Apache Ignite geospatial module provides capabilities to geospatial index cache type. + +To enable geospatial module when starting a standalone node, move 'optional/ignite-geospatial' folder to +'libs' folder before running 'ggstart.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. +Note! This module can be used only when Ignite indexing module is enabled. + +Importing geospatial Module In Maven Project +------------------------------------------ + +If you are using Maven to manage dependencies of your project, you can add geospatial module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-geospatial</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/hadoop/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/hadoop/readme.txt_ b/modules/hadoop/readme.txt_ new file mode 100644 index 0000000..ecd47e0 --- /dev/null +++ b/modules/hadoop/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite Hadoop Module +--------------------------- + +Apache Ignite Hadoop module provides In-Memory MapReduce engine and driver to use IGFS as Hadoop file system +which are 100% compatible with HDFS and YARN. + +To enable Hadoop module when starting a standalone node, move 'optional/ignite-hadoop' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Hadoop Module In Maven Project +---------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Hadoop module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-hadoop</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/hibernate/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/hibernate/readme.txt_ b/modules/hibernate/readme.txt_ new file mode 100644 index 0000000..5a33622 --- /dev/null +++ b/modules/hibernate/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite Hibernate Module +------------------------------ + +Apache Ignite Hibernate module provides Hibernate second-level cache (L2 cache) implementation based +on Apache Ignite In-Memory Data Grid. + +To enable Hibernate module when starting a standalone node, move 'optional/ignite-hibernate' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Hibernate Module In Maven Project +------------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Hibernate module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-hibernate</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/indexing/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/indexing/readme.txt_ b/modules/indexing/readme.txt_ new file mode 100644 index 0000000..f0ea6ba --- /dev/null +++ b/modules/indexing/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite Indexing Module +----------------------------- + +Apache Ignite indexing module provides capabilities to index cache context and run SQL, full text or +individual field queries against these indexes. + +To enable indexing module when starting a standalone node, move 'optional/ignite-indexing' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing indexing Module In Maven Project +------------------------------------------ + +If you are using Maven to manage dependencies of your project, you can add indexing module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-indexing</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/jcl/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/jcl/readme.txt_ b/modules/jcl/readme.txt_ new file mode 100644 index 0000000..ac37421 --- /dev/null +++ b/modules/jcl/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite JCL Module +------------------------ + +Apache Ignite JCL module provides GridLogger implementation that can delegate to any logger based +on Jakarta Commons Logging (JCL). + +To enable JCL module when starting a standalone node, move 'optional/ignite-jcl' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing JCL Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add JCL module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-jcl</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/jta/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/jta/readme.txt_ b/modules/jta/readme.txt_ new file mode 100644 index 0000000..c6c08b2 --- /dev/null +++ b/modules/jta/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite JTA Module +------------------------ + +Apache Ignite JTA module provides capabilities to integrate Apache Ignite cache transactions with JTA. + +To enable JTA module when starting a standalone node, move 'optional/ignite-jta' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing JTA Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add JTA module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-jta</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/log4j/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/log4j/readme.txt_ b/modules/log4j/readme.txt_ new file mode 100644 index 0000000..9ca3c55 --- /dev/null +++ b/modules/log4j/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite Log4J Module +-------------------------- + +Apache Ignite Log4J module provides GridLogger implementation based on Apache Log4J. + +To enable Log4J module when starting a standalone node, move 'optional/ignite-log4j' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Log4J Module In Maven Project +--------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Log4J module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-log4j</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/rest-http/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/rest-http/readme.txt_ b/modules/rest-http/readme.txt_ new file mode 100644 index 0000000..0df2cf5 --- /dev/null +++ b/modules/rest-http/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite REST-HTTP Module +------------------------------ + +Apache Ignite REST-HTTP module provides Jetty-based server which can be used to execute tasks and/or cache commands +in grid using REST approach via HTTP protocol. + +To enable REST-HTTP module when starting a standalone node, move 'optional/ignite-rest-http' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing REST-HTTP Module In Maven Project +------------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add REST-HTTP module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-rest-http</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/scalar/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/scalar/readme.txt_ b/modules/scalar/readme.txt_ new file mode 100644 index 0000000..38c5879 --- /dev/null +++ b/modules/scalar/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite Scalar Module +--------------------------- + +Apache Ignite Scalar module provides Scala-based DSL with extensions and shortcuts for Apache Ignite API. + +To enable Scalar module when starting a standalone node, move 'optional/ignite-scalar' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Scalar Module In Maven Project +---------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Scalar module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-scalar</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/schedule/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/schedule/readme.txt_ b/modules/schedule/readme.txt_ new file mode 100644 index 0000000..4ca7ac8 --- /dev/null +++ b/modules/schedule/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite Schedule Module +----------------------------- + +Apache Ignite Schedule module provides functionality for scheduling jobs locally using UNIX cron-based syntax. + +To enable Schedule module when starting a standalone node, move 'optional/ignite-schedule' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Schedule Module In Maven Project +------------------------------------------ + +If you are using Maven to manage dependencies of your project, you can add Schedule module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-schedule</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/schema-import/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/schema-import/readme.txt_ b/modules/schema-import/readme.txt_ new file mode 100644 index 0000000..9b0a44d --- /dev/null +++ b/modules/schema-import/readme.txt_ @@ -0,0 +1,214 @@ +Apache Ignite Schema Import Module +------------------------------------------ + +Ignite ships with its own database schema mapping wizard which provides automatic support for integrating with +persistence stores. This utility automatically connects to the underlying database and generates all the required +XML OR-mapping configuration and Java domain model POJOs. + +To start the wizard for generating database schema mapping, execute bin/ignite-schema-import.sh script: + +For connection with RDBMS system from utility you need to provide: connection url and jdbc driver. +Note that JDBC drivers are not supplied with the utility and should be provided separately. + +Moving from disk-based architectures to in-memory architectures +------------------------------------------ + +Use Schema Import Utility for generation of type mapping and domain model in Java. + +For example you may use the following script for create sample type 'Person' in your RDBMS system: + +create table PERSON(id integer not null, firstName varchar(50), lastName varchar(50), PRIMARY KEY(id)); + +insert into PERSON(id, first_name, last_name) values(1, 'Johannes', 'Kepler'); +insert into PERSON(id, first_name, last_name) values(2, 'Galileo', 'Galilei'); +insert into PERSON(id, first_name, last_name) values(3, 'Henry', 'More'); +insert into PERSON(id, first_name, last_name) values(4, 'Polish', 'Brethren'); +insert into PERSON(id, first_name, last_name) values(5, 'Robert', 'Boyle'); +insert into PERSON(id, first_name, last_name) values(6, 'Isaac', 'Newton'); + +The Ignite Schema Import utility generates the following artifacts: + # Java POJO key and value classes + # XML CacheTypeMetadata configuration + # Java configuration snippet (alternative to XML) + +After you exit from the wizard, you should: + # Copy generated POJO java classes to you project source folder. + # Copy XML declaration of CacheTypeMetadata to your Ignite XML configuration file under appropriate + CacheConfiguration root. + # Setup your Ignite XML configuration file DataSource to your RDBMS system for CacheJdbcPojoStore. + # Or paste Java snippet with cache configuration into your Ignite initialization logic. + # You need place compiled domain model classes, jdbc driver (used for connect to you RDBMS system) in Ignite node + classpath, for example place in 'libs' folder. + +Example of spring configuration: + +<bean class="org.apache.ignite.configuration.IgniteConfiguration"> + ... + <!-- Cache configuration. --> + <property name="cacheConfiguration"> + <list> + <bean class="org.apache.ignite.configuration.CacheConfiguration"> + ... + + <!-- Cache store. --> + <property name="cacheStoreFactory"> + <bean class="javax.cache.configuration.FactoryBuilder$SingletonFactory"> + <constructor-arg> + <bean class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStore"> + <property name="dataSource"> + <!-- TODO: Need specify connection pooling DataSource to your RDBMS system. --> + ... + </property> + </bean> + </constructor-arg> + </bean> + </property> + + <!-- Type mapping description. --> + <property name="typeMetadata"> + <list> + <bean class="org.apache.ignite.cache.CacheTypeMetadata"> + <property name="databaseTable" value="PERSON"/> + <property name="keyType" value="org.apache.ignite.examples.datagrid.store.model.PersonKey"/> + <property name="valueType" value="org.apache.ignite.examples.datagrid.store.Person"/> + <property name="keyFields"> + <list> + <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata"> + <property name="databaseName" value="ID"/> + <property name="databaseType"> + <util:constant static-field="java.sql.Types.BIGINT"/> + </property> + <property name="javaName" value="id"/> + <property name="javaType" value="long"/> + </bean> + </list> + </property> + <property name="valueFields"> + <list> + <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata"> + <property name="databaseName" value="ID"/> + <property name="databaseType"> + <util:constant static-field="java.sql.Types.BIGINT"/> + </property> + <property name="javaName" value="id"/> + <property name="javaType" value="long"/> + </bean> + <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata"> + <property name="databaseName" value="FIRST_NAME"/> + <property name="databaseType"> + <util:constant static-field="java.sql.Types.VARCHAR"/> + </property> + <property name="javaName" value="firstName"/> + <property name="javaType" value="java.lang.String"/> + </bean> + <bean class="org.apache.ignite.cache.CacheTypeFieldMetadata"> + <property name="databaseName" value="LAST_NAME"/> + <property name="databaseType"> + <util:constant static-field="java.sql.Types.VARCHAR"/> + </property> + <property name="javaName" value="lastName"/> + <property name="javaType" value="java.lang.String"/> + </bean> + </list> + </property> + </bean> + </list> + </property> + ... + </bean> + </list> + </property> + ... +</bean> + +Example of java code configuration: + +IgniteConfiguration cfg = new IgniteConfiguration(); +... +CacheConfiguration ccfg = new CacheConfiguration<>(); + +DataSource dataSource = null; // TODO: Need specify connection pooling DataSource to your RDBMS system. + +// Create store. +CacheJdbcPojoStore store = new CacheJdbcPojoStore(); +store.setDataSource(dataSource); + +// Create store factory. +ccfg.setCacheStoreFactory(new FactoryBuilder.SingletonFactory<>(store)); + +// Configure cache to use store. +ccfg.setReadThrough(true); +ccfg.setWriteThrough(true); + +// Configure cache types. +Collection<CacheTypeMetadata> meta = new ArrayList<>(); + +// PERSON type mapping. +CacheTypeMetadata tm = new CacheTypeMetadata(); + +tm.setDatabaseTable("PERSON"); + +tm.setKeyType("java.lang.Long"); +tm.setValueType("org.apache.ignite.examples.datagrid.store.Person"); + +// Key fields for PERSONS. +tm.setKeyFields(F.asList(new CacheTypeFieldMetadata("ID", Types.BIGINT, "id", Long.class))); + +// Value fields for PERSONS. +tm.setValueFields(F.asList( + new CacheTypeFieldMetadata("ID", Types.BIGINT, "id", long.class), + new CacheTypeFieldMetadata("FIRST_NAME", Types.VARCHAR, "firstName", String.class), + new CacheTypeFieldMetadata("LAST_NAME", Types.VARCHAR, "lastName", String.class) +)); +... +ccfg.setTypeMetadata(tm); + +cfg.setCacheConfiguration(ccfg); +... +// Start Ignite node. +Ignition.start(cfg); + +Now you can load all data from database to cache: + IgniteCache<Long, Person> cache = ignite.jcache(CACHE_NAME); + cache.loadCache(null); + +Or you can load data from database to cache with custom SQL: + cache.loadCache(null, "java.lang.Long", "select * from PERSON where id = 2") + +Also if you put data into cache it will be inserted / updated in underlying database. + + +Performance optimization. +------------------------------------------ + +1. Use DataSource with connection pool. +2. Enable write-behind feature by default write-behind is disabled. + +Example of spring configuration: + +<bean class="org.apache.ignite.configuration.IgniteConfiguration"> + ... + <!-- Cache configuration. --> + <property name="cacheConfiguration"> + <list> + <bean class="org.apache.ignite.configuration.CacheConfiguration"> + ... + <!-- Sets flag indicating whether write-behind is enabled.. --> + <property name="writeBehindEnabled" value="true/> + ... + </bean> + </list> + </property> + ... +</bean> + +Example of java code configuration: + +IgniteConfiguration cfg = new IgniteConfiguration(); +... +CacheConfiguration ccfg = new CacheConfiguration<>(); +... +ccfg.setWriteBehindEnabled(true); +... +// Start Ignite node. +Ignition.start(cfg); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/slf4j/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/slf4j/readme.txt_ b/modules/slf4j/readme.txt_ new file mode 100644 index 0000000..2583ce3 --- /dev/null +++ b/modules/slf4j/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite SLF4J Module +-------------------------- + +Apache Ignite SLF4J module provides GridLogger implementation based on SLF4J. + +To enable SLF4J module when starting a standalone node, move 'optional/ignite-slf4j' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing SLF4J Module In Maven Project +--------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add SLF4J module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-slf4j</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/spring/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/spring/readme.txt_ b/modules/spring/readme.txt_ new file mode 100644 index 0000000..24718b7 --- /dev/null +++ b/modules/spring/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite Spring Module +--------------------------- + +Apache Ignite Spring module provides resources injection capabilities and parser for Spring-based +configuration XML files. + +To enable Spring module when starting a standalone node, move 'optional/ignite-spring' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Spring Module In Maven Project +---------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Spring module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-spring</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/ssh/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/ssh/readme.txt_ b/modules/ssh/readme.txt_ new file mode 100644 index 0000000..a0876e7 --- /dev/null +++ b/modules/ssh/readme.txt_ @@ -0,0 +1,32 @@ +Apache Ignite SSH Module +------------------------ + +Apache Ignite SSH module provides capabilities to start Apache Ignite nodes on remote machines via SSH. + +To enable SSH module when starting a standalone node, move 'optional/ignite-ssh' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing SSH Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add SSH module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-ssh</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/urideploy/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/urideploy/readme.txt_ b/modules/urideploy/readme.txt_ new file mode 100644 index 0000000..a2cdb62 --- /dev/null +++ b/modules/urideploy/readme.txt_ @@ -0,0 +1,33 @@ +Apache Ignite URI Deploy Module +------------------------------- + +Apache Ignite URI Deploy module provides capabilities to deploy tasks from different sources like +File System, HTTP, FTP, or even Email. + +To enable URI Deploy module when starting a standalone node, move 'optional/ignite-urideploy' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing URI Deploy Module In Maven Project +-------------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add URI Deploy module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-urideploy</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project> http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/59aa480d/modules/web/readme.txt_ ---------------------------------------------------------------------- diff --git a/modules/web/readme.txt_ b/modules/web/readme.txt_ new file mode 100644 index 0000000..68f62b3 --- /dev/null +++ b/modules/web/readme.txt_ @@ -0,0 +1,34 @@ +Apache Ignite Web Module +------------------------ + +Apache Ignite Web module provides Apache Ignite node startups based on servlet and servlet context listener +which allow to start Apache Ignite inside any web container. Additionally this module provides +capabilities to cache web sessions in Apache Ignite cache. + +To enable Web module when starting a standalone node, move 'optional/ignite-web' folder to +'libs' folder before running 'ignite.{sh|bat}' script. The content of the module folder will +be added to classpath in this case. + +Importing Web Module In Maven Project +------------------------------------- + +If you are using Maven to manage dependencies of your project, you can add Web module +dependency like this (replace '${ignite.version}' with actual Ignite version you are +interested in): + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + ... + <dependencies> + ... + <dependency> + <groupId>org.apache.ignite</groupId> + <artifactId>ignite-web</artifactId> + <version>${ignite.version}</version> + </dependency> + ... + </dependencies> + ... +</project>