Java Archetypes

Java developers that use Maven can use the scalout-msg-module or scalout-api-module archetypes to generate a working MSG or API module. The archetypes are available on Maven Central under the project and artifact id:

  • com.scaleoutsoftware.archetypes:scaleout-msg-module

  • com.scaleoutsoftware.archetypes:scaleout-api-module

scaleout-msg-module

mvn archetype:generate \
  -DarchetypeGroupId=com.scaleoutsoftware.archetypes \
  -DarchetypeArtifactId=scaleout-msg-module \
  -DarchetypeVersion=1.0.0 \
  -DgroupId=com.mycompany.flighttracking \
  -DartifactId=FlightTracker \
  -DsossObjectName=Flight \
  -DinteractiveMode=false

What These Options Do

Property

Description

groupId

Your organization or namespace

artifactId

Name of the generated project directory + artifact id

sossObjectNameName

The class representing each Flight

This command generates a new folder (FlightTracker) containing:

  • Java class stubs for your msg module

  • A sample working unit test demonstrating sending a message

  • A pre-configured scaleoutPackage.json metadata file

  • A Maven project file (pom.xml) with preconfigured dependencies

  • A build pipeline for packaging your project for deployment

scaleout-api-module

To create an API module Maven project, run the following command in your terminal:

mvn archetype:generate \
  -DarchetypeGroupId=com.scaleoutsoftware.archetypes \
  -DarchetypeArtifactId=scaleout-api-module \
  -DarchetypeVersion=1.0.0 \
  -DgroupId=com.mycompany.shopping \
  -DartifactId=ShoppingCart \
  -DsossObjectName=ShoppingCart \
  -DinteractiveMode=false

What These Options Do

Property

Description

groupId

Your organization or namespace

artifactId

Name of the generated project directory + artifact Id

sossObjectNameName

The class representing each ShoppingCart

This command generates a new folder (ShoppingCart) containing:

  • Java class stubs for your module classes

  • A sample client that performs a hashmap operation on the ShoppingCart object

  • a sample unit test that reads/writes to the hashmap in the ShoppingCart object

  • A pre-configured scaleoutPackage.json metadata file

  • A Maven project file (pom.xml) with preconfigured dependencies

  • A build pipeline for packaging your project for deployment