Preparing Your Development Environment

Follow the instructions in this tutorial to set up your IDEClosed Integrated Development Environment. A software application that helps programmers develop software code efficiently. It increases developer productivity by combining capabilities such as software editing, building, testing, and packaging in an easy-to-use application. Example: DBeaver. so you can begin to work with GigaSpaces products.

If you are working in a KubernetesClosed An open-source container orchestration system for automating software deployment, scaling, and management. environment, you will be able to prepare a Docker from your code and add deployment .yaml's to it in order to deploy.

Ensure you have a JDK installed. You will need Java 8 or 11; the latest update is recommended.

Checking your JDK Version

To check your installed Java version:

  1. Open a command line window.
  2. Run set JAVA_HOME.
  3. A response similar to this suggests you have a JDK installed:

    JAVA_HOME=C:\jdk1.8
    
  4. To check the JDK version, run %JAVA_HOME%\bin\java \-version. A response like this from Java indicates you have a valid JDK installed:

    java version "1.8.0_202"
    Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
    Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Installing a Proper JDK (Java Development Kit)

  1. To install a JDK, download and install JDK 8 Update X
  2. Download and unzip the latest GigaSpaces product release from the downloads page.
  3. Install a Java IDE. If you don't have an IDE installed, you can download and unzip the Eclipse IDE for Java Developers, or the IntelliJ IDEA IDE (we recommend the Ultimate Edition because of its excellent Spring framework support). If you're using Eclipse, it is also recommended to install the Spring Tool Suite plugin for Eclipse.

Running the Application inside Eclipse IDE

  1. Start Eclipse. The Workspace Launcher window opens.
  2. Write a new workspace name or select one of your existing workspaces, and click OK.
  3. To import the project, select File > Import to open the Import window.
  4. Select Existing projects into workspace and click Next to open the Import Project window.
  5. In the Select root directory field, click Browse to open the browse window.
  6. Select the folder /examples/helloworld and click OK.
  7. Make sure the following 3 projects are selected: hello-common, hello-processor, and hello-feeder.
  8. Click Finish.
  9. Create a new Eclipse environment variable called GS_HOME, and point it to your GigaSpaces installation Root folder.
  10. Right click the hello-common project in the Package Explorer tab to open the context menu.
  11. Select Build Path > Configure Build Path to open the Java Build Path window.
  12. Select the Libraries tab* and click the *Add Variable... button to open the New Variable Classpath Entry dialog
  13. Click Configure Variables to open the Classpath Variables window.
  14. Click New to open the New Variable Entry window.
  15. In the Name field, write GS_HOME to name the variable.
  16. Click Folder and browse to your GigaSpaces installation root folder.
  17. Select your GigaSpaces installation root folder and click OK (3 times in total).
  18. Click Yes to do a full rebuild.
  19. Close the remaining windows.

Classpath

The GigaSpaces libraries are located under $GS_HOME/lib. There are three sub-directories:

  • lib/required - JAR files that are required for any GigaSpaces application.
  • lib/optional - JAR files that enable additional capabilities, such as servlet api.
  • lib/platform - JAR files that are used only by the GigaSpaces platform.

Compilation

In order to compile and run GigaSpaces applications, all the JAR files under the $GS_HOME/lib/required directory should be included in your compile and run time classpaths. Additional JAR files that you may need for development are located at $GS_HOME/lib/optional.

Runtime - Processing Unit

When an application is deployed as a Processing UnitClosed This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity., there is no need to add GigaSpaces-specific JAR files to the Processing Unit classpath. If such are added under the Processing Unit's lib directory, the system will remove those JAR files and replace them with the system's JARs for compatibility.

Runtime - Standalone

When running a standalone client that accesses GigaSpaces, ensure that all the JARs located under the $GS_HOME/lib/required directory are part of the JVMClosed Java Virtual Machine. A virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode.'s classpath. This also holds true for remote SpaceClosed Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model. clients that are used from another JVM (such as a standalone web container). If your client is a JEE web application that is not running within the GigaSpaces runtime environment, or more specifically a GSCClosed Grid Service Container. This provides an isolated runtime for one (or more) processing unit (PU) instance and exposes its state to the GSM., you must include these JARs in your application's WEB-INF/lib directory.

Maven

GigaSpaces is Maven-friendly. It is built using Maven, which can be easily used by developers constructing GigaSpaces applications.

The main dependency required to use GigaSpaces is xap-openspaces.

 <dependency>
   <groupId>org.gigaspaces</groupId>
   <artifactId>xap-openspaces</artifactId>
   <version>16.4.0-m1</version>
 </dependency>

GigaSpaces artifacts are currently not published in Maven Central Repo, therefore you must configure a repository:

 <repository>
    <id>org.openspaces</id>
    <url>http://maven-repository.openspaces.org</url>
 </repository>