This documentation is for WSO2 Private PaaS 4.1.0. View documentation for the latest release.
Page Comparison - Application Resource Definition (v.2 vs v.3) - WSO2 Private PaaS 4.1.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Property

DescriptionData
Type 
Example
JSONUI
Anchor
startupOrder
startupOrder
startupOrders
Startup OrdersX

The order in which the applications’s children (sub-groups and sub-cartridges) need to started up.

If it is a group, it should use the format of "group.<GROUP_ALIAS>" and if it is a cartridge, it should be "cartridge.<CARTRIDGE_ALIAS>" when defining startupOrder. Multiple startupOrders can also be defined as String array. However, the startupOrder should not create a cyclic dependency. By defining multiple startupOrders, parallel dependencies can be identified to start them in parallel.

For example if the application startupOrder is as follows:

Code Block
"startupOrders": [
  {
    "aliases": [
      "group.group2",
      "cartridge.tomcat"
    ]
  }
],
  • Based on this Stratos WSO2 Private PaaS will identify that group2 will need to start before tomcat. Initially, Stratos WSO2 Private PaaS will check the startupOrder in the group2 cartridge group definition, which appears as follows:

    Code Block
    "startupOrders": [
      {
        "aliases": [
          "group.group1",
          "cartridge.tomcat"
        ]
      }
    ],
  • Based on this Startos will identify that it needs to startup group1 before the tomcat cartridge. 

  • This will in turn require Stratos WSO2 Private PaaS to check the startupOrder in the group1 cartridge group definition.

  • If group1 does not have a startupOrder defined, Stratos WSO2 Private PaaS will start the tomcat and tomcat1 cartridges, which are in group1, in parallel to each other.
  • Thereafter, it will start the tomcat cartridge in group2.
  • Finally, it will start the tomcat cartridge, which has the mytomcat alias, defined in the application definition.
NoN/AstartupOrders array
group.mygroup2

Anchor
scalingDependents
scalingDependents
scalingDependents  

 X   scalingDependents array 
Anchor
terminationBehaviour
terminationBehaviour
terminationBehaviour
Termination BehaviourX

This determines how the instances need to be terminated. The terminationBehaviour has been explained provided the startupOrder is as follows:

Code Block
"startupOrders": [
  {
    "aliases": [
      "group.group2",
      "cartridge.tomcat"
    ]
  },
  {
    "aliases": [
      "group.group3",
      "cartridge.mytomcat222"
    ]
  }
],

The available terminationBehaviours are as follows:

  • terminate-none
    None of them will be terminated. For example, if something happens to mygroup1, it will not have an impact on the tomcat cartridge.
  • terminate-all
    All the elements in that dependency tree are terminated. For example, if something happens to any of mygroup1, then all the children of the group that mygroup1 belongs to, are terminated regardless of the other dependency information.
  • terminate-dependent
    Only the dependents will be terminated.
    For example, if something happens to group2, then tomcat is terminated. However, if any other cartridge or group is found in the parent group that group2 belongs to, then that cartridge or group will remain as it is in StratosWSO2 Private PaaS.
NoN/AStringterminate-none

...