Expressions

Simple arithmatic expressions can be enclosed in $(1+2+3)

Example:

"listenAddressPort": "$(7001+4)"

Variable resolution in environmint

There are currently 4 types of static introspections available - these can also be used in expressions!:

  • Internal Variables These are defined in the “internalVariables” section of your json file, and are a direct substitution Example:

"listenAddressPortSSL": "${hostSSLPort}"
    "listenAddressPortSSL": "$(${hostListenPort}+1000)"
  • Local Property/Attribute lookups These will look up a single property, relative to your location in the tree. These can also be nested lookups seperated with a dot, and can reference other objects by convention. They start with either / for a global lookup, or _ for a local lookup Conventions: Anything List should be accessable via the plural - do domainList is accessable as domains, for example, as in rails/grails/etc. Individual list items can be addressed with square brackets. If the brackets are omitted, the first item in the list is assumed.

    Additionally, any object with a name that has an matching list can be directly accessed this way - for example, the machine property of a managed server will look into the machineList and return that object for you to reference further

    Local Lookup Example:

"sshAddress": "${_.hostname}-m"
     "listenAddressPortSSL": "$(${_.listenAddressPort}+1000)"
     "listenAddress": "${_.machine.nodeManager.host.address}"
Global Lookup Examples:
"Url": "${/domains.repositories.database.jdbcUrl}"
      "Startup1": "-Dtangosol.localhost=${/domains.managedServers[soa_server1].listenAddress}"