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}"