11# interference
2- simple distributed persistent layer for java applications
3- (c) 2019 head systems, ltd
4-
5- current revision: 2019.3
6- for detailed information see docs/InterferenceManual.pdf
7- contacts: info@inteference.su
8- https://github.com/interference-project/inteference
92
10- Concepts & features
3+ ##### simple distributed persistent layer for java applications
4+ ##### (c) 2010 - 2020 head systems, ltd
5+ ##### current revision: 2019.3
6+ ##### for detailed information see doc/InterferenceManual.pdf
7+
8+ ##### contacts: info@inteference.su
9+ ##### https://github.com/interference-project/inteference
10+
11+
12+ ## Concepts & features
1113
1214- supports Base JPA annotations
13- - supports distributed SQL queries
15+ - supports local & distributed SQL queries
1416- supports transactions
17+ - supports unique constraints
18+ - supports persistent indexes
1519- runs in the same JVM with local application
1620- can be used as a local or distributed SQL database
1721- can be used as persistent layer for a distributed application
@@ -23,8 +27,15 @@ Concepts & features
2327 the launch of any additional coordinators. All cluster nodes are equivalent.
2428- supports complex event processing and streaming SQL (in next release)
2529
30+ ## NOTE:
2631
27- Quick Start Application
32+ Interference is not a RDBMS in the classical sense, and it does
33+ not support ddl operations (the table structure is created on the basis
34+ of @Entity class JPA-compatible annotations), foreign keys. Standard
35+ dml operations, like UPDATE, DELETE for bulk changes and check constraints
36+ are planned to be implemented in future versions.
37+
38+ ## Quick Start Application
2839
2940The interference-test application shows example of using the basic
3041interference use cases. Before starting and using, read the manual.
@@ -37,6 +48,7 @@ To get started with interference, you need to include the interference.jar
3748library in your project configuration. For maven pom.xml, this might look
3849like this:
3950
51+ ```
4052<dependencies>
4153 <dependency>
4254 <groupId>su.interference</groupId>
@@ -45,16 +57,19 @@ like this:
4557 </dependency>
4658 ...
4759</dependencies>
60+ ```
4861
4962Next, specify the necessary set of keys in the project
5063(application) settings (jmxremote settings is optional):
5164
65+ ```
5266-Dsu.interference.config=interference.properties
5367-Dcom.sun.management.jmxremote
5468-Dcom.sun.management.jmxremote.port=8888
5569-Dcom.sun.management.jmxremote.local.only=false
5670-Dcom.sun.management.jmxremote.authenticate=false
5771-Dcom.sun.management.jmxremote.ssl=false
72+ ```
5873
5974To run a single local interference node, you can use the standard
6075supplied interference.properties configuration. Note that file
@@ -63,18 +78,20 @@ Next, see the configuration section.
6378
6479Then, add following code into initializing section of your java application:
6580
81+ ```
6682Instance instance = Instance.getInstance();
6783Session session = Session.getSession();
6884instance.startupInstance(session);
85+ ```
6986
70- where Instance is su.inteference.core.Instance
71- and Session is su.interference.persistent.Session.
87+ where Instance is su.inteference.core.Instance and Session is su.interference.persistent.Session.
7288
7389
74- Service as standalone
90+ ## Service as standalone
7591
7692This option can be used when the cluster node is used solely for the purpose of further horizontal scaling of the data retrieving mechanism:
7793
94+ ```
7895java -cp interference.jar
7996-Dsu.interference.config=interference.properties
8097-Dcom.sun.management.jmxremote
@@ -83,4 +100,4 @@ java -cp interference.jar
83100-Dcom.sun.management.jmxremote.authenticate=false
84101-Dcom.sun.management.jmxremote.ssl=false
85102su.interference.standalone.Start
86-
103+ ```
0 commit comments