Skip to main content
Version: Next

Properties

Introduction

Several properties can be specified inside your application.properties file, inside your application.yml file, or as command line switches. This document provides a list of common AWE properties and references to the underlying classes that consume them.


ℹ️ Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties.


ℹ️ To know more about the rest of spring boot configuration properties, visit Spring Appendix A


AWE Base Properties

These are the base application configuration properties for AWE projects. They have the prefix awe.application.

NameDescriptionDefault value
awe.application.encodingBase encoding for all files.UTF-8
awe.application.nameApplication name.AWE (Almis Web Engine)
awe.application.language-defaultApplication language in ISO 639-1 2 Letters format. (en = English).en (en = English)
awe.application.language-listApplication available languages in ISO 639-1 2 Letters format. (en = English).en, es, fr list with EN, ES, FR languages
awe.application.themeApplication theme.sky Sky theme
awe.application.acronymApplication acronym. Corresponds to the name of the artifactId of the project.awe
awe.application.menu-typeConfigure layout of the application menu. Horizontal or Vertical.horizontal
awe.application.module-listList with application modules separate by commas. Used to load xml files for each module.
awe.application.default-roleApplication default user role when user logged with auth methodoperator
awe.application.addressApplication address parameter name.address
awe.application.preload-screensEnable preload screens.true
awe.application.reload-current-screenReload current screen.false
awe.application.extension-xmlXML file extension parameter name..xml
awe.application.print-all-options-enableShow all print options.true
awe.application.log-groupDefine the parent path for application log files./application
awe.application.log-manager-pathDefine the path where awe log manager search the log files.${logging.file.path:${java.io.tmpdir}} ${awe.application.log.group:/application}
awe.application.log-user-enableFlag to activate log file appender by user.true
awe.application.highcharts-server-urlHighcharts export server url.https://export.highcharts.com
awe.application.loading-timeoutLoading timeout in milliseconds.10000ms Duration
awe.application.xstream-driver-typeXStream (XML file parser) driver type. Choose between dom, xpp and stax. Change it if XML loading is slowdom
awe.application.files.actionsXml file name of actions definition.Actions
awe.application.files.servicesXml file name of services definition.Services
awe.application.files.localeXml file name of locales definition.Locale-
awe.application.files.enumeratedXml file name of enumerated definition.Enumerated
awe.application.files.queryXml file name of queries definition.Queries
awe.application.files.queueXml file name of Queues definition.Queues
awe.application.files.maintainXml file name of maintains definition.Maintain
awe.application.files.componentsXml file name of components definition.Components
awe.application.files.templatesXml file name of templates definition.Templates
awe.application.files.emailXml file name of Email definition.Email
awe.application.files.menu-publicXml file name of public menu definition.public
awe.application.files.menu-privateXml file name of private menu definition.private
awe.application.paths.baseApplication base path./ Root path
awe.application.paths.applicationApplication folder path./application/
awe.application.paths.globalGlobal folder path./global/
awe.application.paths.localeLocale folder path./locale/
awe.application.paths.screenScreen folder path./screen/
awe.application.paths.profileProfile folder path./profile/
awe.application.paths.menuMenu folder path./menu/
awe.application.paths.templatesTemplates folder path.templates/
awe.application.paths.templates-angularAngular templates folder path.angular
awe.application.paths.tagTag folder path.tags/
awe.application.paths.tag-angularTag angular folder path.tags/angular/
awe.application.paths.serverServer path. Used for set initial URL.
awe.application.paths.imagesImages folder path.images/
awe.application.paths.reportsReports destination folder path.@reports (@ is a relative path from awe.application.paths.base property)
awe.application.paths.reports-historicHistoric report's destination folder path.@historicReports/ (@ is a relative path from awe.application.paths.base property)
awe.application.paths.documentsDocuments folder path.static/docs/
awe.application.paths.jrxJasper jrx folder path./jrx/
awe.application.paths.tempTemp folder path.${java.io.tmpdir:/tmp}
awe.application.paths.icon-faviconFavicon icon path. Uses application.paths.images as parent path./images/icon/favicon-awe.ico
awe.application.paths.icon-phoneApple icon 57x57 path. Uses application.paths.images as parent path./images/icon/favicon-awe.ico
awe.application.paths.image-startup-logoHome screen logo. Uses awe.application.paths.images as parent path. Default value ../images/logo/logo-awe-nuevo.svglogo/logo-awe-nuevo.svg
awe.application.paths.image-startup-backgroundHome screen background image. Uses application.paths.images as parent path.. Default value ../images/logo/signin-bg-1.jpglogo/signin-bg-1.jpg
awe.application.parameter.usernameScreen username parameter value.cod_usr
awe.application.parameter.passwordScreen password parameter value.pwd_usr
awe.application.parameter.tokenToken parameter name.t
awe.application.screen.homeHome screen name.home
awe.application.screen.change-passwordChange password screen name.change_password
awe.application.screen.initialDefault initial screen name.information
awe.application.component.sizeComponents size.sm (Small)
awe.application.component.data-suffixSuffix of data parameter send from client..data
awe.application.component.grid-rows-per-pageRows per page in grid component (Set to 0 to avoid pagination).30
awe.application.component.grid-pixels-per-characterPixels per char in grids.8
awe.application.component.criteria-rows-per-pageRows per page in criteria component (Set to 0 to avoid pagination).100
awe.application.component.computed-empty-if-nullEmpty computed values if one of the wildcards are empty.true
awe.application.component.suggest-timeoutSuggest component timeout in milliseconds.300ms Duration
awe.application.component.help-timeoutComponent help timeout in milliseconds.1000ms Duration
awe.application.component.upload-file-idFile uploader component Id.u
awe.application.component.upload-file-pathPath for file uploads (Relative to application.base.path starts with @).@upload/ (@ is a relative path from awe.application.paths.base property)
awe.application.component.upload-max-file-sizeMax size for uploaded files (in MB).100MB DataSize
awe.application.component.upload-max-files-folderMax elements per folder. Used to create temporal folder where save uploaded files.100
awe.application.component.download-file-idFile downloader component Id.d
awe.application.component.pivot-num-groupNumber of group element limit of pivot table component.5000
awe.application.component.chart-limit-point-serieLimit of points series in chart component.1000000
awe.application.component.tooltip.ok-timeoutTimeout for ok messages (in milliseconds).2000ms Duration
awe.application.component.tooltip.error-timeoutTimeout for error messages (in milliseconds).0ms Duration
awe.application.component.tooltip.warning-timeoutTimeout for warning messages (in milliseconds).4000ms Duration
awe.application.component.tooltip.info-timeoutTimeout for info messages (in milliseconds).0ms Duration
awe.application.component.tooltip.validate-timeoutTimeout for validate messages (in milliseconds).2000ms Duration
awe.application.component.tooltip.help-timeoutTimeout for help messages (in milliseconds).5000ms Duration
awe.application.component.tooltip.chat-timeoutTimeout for chat messages (in milliseconds).0ms Duration
awe.application.component.tooltip.wrong-timeoutTimeout for wrong messages (in milliseconds).0ms Duration
awe.application.jms.enabledEnable AWE JMS service connector.false
awe.application.jms.service-timeoutJms service timeout in milliseconds.10000ms Duration
awe.application.jms.message-time-to-liveJms message time to live in milliseconds. Default value 0ms (the message remains on the queue indefinitely until is processed)0ms Duration
awe.application.file-manager.base-pathFile manager base path./ (Root path)
awe.application.file-manager.date-formatFile manager date format.yyyy-MM-dd hh:mm:ss
awe.application.task.pool.sizeTask executor pool size.20
awe.application.task.pool.max-sizeTask executor pool max elements.50
awe.application.task.pool.queue-sizeTask executor queue size.1000
awe.application.task.pool.await-terminationTask executor await termination in seconds.120s Duration
awe.application.task.pool.thread-prefixAWE Pool executor threads prefix.AweThread-
awe.application.task.pool.help-thread-prefixAWE Help Pool executor threads prefix.AweHelpThread-
awe.application.task.pool.contextless-thread-prefixAWE context less Pool executor threads prefix.AweInitThread-

AWE Database Properties

These are the database configuration properties for AWE projects. They have the prefix awe.database.

NameDescriptionDefault value
awe.database.enabledEnable awe database loading beans.true
awe.database.parameter-nameDatabase criterion name. Configure the database parameter to retrieve the value from screen context._database_
awe.database.limit-log-sizeLimit log size when a query is printed (0 to disable).0
awe.database.multidatabase-enableEnable multi database. Enable a custom datasource to allow connections to multiple database.false
awe.database.migration-modulesList of modules separated by comma to be migrated by flyway.AWE
awe.database.migration-prefixScript migration prefix pattern name. Default value [Module]_V (Ex: AWE_V)%s_V
awe.database.migration-repeatable-prefixRepeatable script migration prefix pattern name. Default value [Module]_R (Ex: AWE_R)%s_R
awe.database.audit-enableEnable audit operations in AWE database engine.true
awe.database.audit-dateName of Date column in audit tables.HISdat
awe.database.audit-userName of User column in audit tables.HISope
awe.database.audit-actionName of Action column in audit tables.HISact
awe.database.audit-lagAudit lag in milliseconds. Used to built a timestamp in audit process.100ms Duration
awe.database.batch-maxChunk size for batch operations.100

AWE Security Properties

These are all security configuration properties for AWE projects. They have the prefix awe.security.

NameDescriptionDefault value
awe.security.master-keyMaster key used in encryption process.B1Le3s%25abc75TeBe05
awe.security.auth-modeAuthentication mode.bbdd BBDD (Database)
awe.security.auth-custom-providersAuthentication custom class providers. Used to implement your custom authentication provider.
awe.security.json-encrypt-enableEnable json encoding with BASE64 between client-server.false
awe.security.json-parameterEncrypted parameter list name.p
awe.security.default-restrictionefault restriction set (default should be the most restricted).general
awe.security.role-prefixRole prefix to build user grants in spring security.ROLE_
awe.security.xstream-allow-pathsAllows paths for xstream serializer.java.*", "com.almis.awe.model.entities.**_
awe.security.password-patternPassword regex pattern. Used in criteria validation field..*
awe.security.password-min-lengthPassword minimum length. Used in criteria validation field.4
awe.security.same-origin-enableEnable same origin in http headers. Avoid cross domain frame requests.true
awe.security.allowed-origin-patternsList with allowed origin paths separate by commas.*
awe.security.ldap.user-filterLdap user login property name. In WINDOWS environment sAMAccountName={0}. In UNIX environment uid={0}sAMAccountName={0}
awe.security.ldap.urlLdap server url. Set server values separate by commas when you need config more than one.ldap://localhost:389
awe.security.ldap.base-dnLdap base domain for search. Default value empty (Root Dn).
awe.security.ldap.user-bindLdap user bind search pattern.
awe.security.ldap.password-bindLdap bind password.
awe.security.ldap.connect-timeoutLdap connection timeout in millis. Set com.sun.jndi.ldap.connect.timeout environment property.5000ms Duration
awe.security.ldap.read-timeoutLdap read timeout in millis. Set com.sun.jndi.ldap.read.timeout environment property.5000ms Duration
awe.security.totp.enabledDisable, enable or force the TOTP.disabled
awe.security.totp.initial-screenInitial screen to check TOTP.check-2fa
awe.security.totp.activate-screenInitial screen to force enable TOTP.activate-2fa
awe.security.auto-provision-useFlag to enable auto provisioning users in oauth2 authentication process. Create new record in ope table with usertrue

AWE Numeric Properties

These are the numeric configuration properties for AWE projects. They have the prefix awe.numeric.

NameDescriptionDefault value
awe.numeric.formatNumber format separator for input numeric. Default value NumericFormatType.EUR (eur). European numeric format ('.' as thousands character and ',' as decimal character).eur
awe.numeric.round-typeRounding type for numeric operations. Default value Half Up Symmetric (S). See RoundTypes for more info.S RoundingType.HALF_UP_SYMMETRIC
awe.numeric.pattern-formattedNumeric format for field pattern value.###,###.####
awe.numeric.pattern-unformattedNumeric format for field pattern value (plain, without a thousand separators).######.####
awe.numeric.min-valueMinimum value for numeric component.-9999999999.99
awe.numeric.max-valueMaximum value for numeric component.9999999999.99
awe.numeric.padding-with-zerosPadding with zeros to complete format number in numeric component.false
awe.numeric.decimal-numbersNumber of decimals for numeric component.5
awe.numeric.separator-thousandThousands separator for numeric component. Default value Thousands Char of NumericFormatType (awe.numeric.format).
awe.numeric.separator-decimalDecimal separator for numeric component. Default value Decimal Char of NumericFormatType (awe.numeric.format),
awe.numeric.group-decimalControls the digital grouping - the placement of the thousand separator for numeric component.3
awe.numeric.currency-signDesired currency symbol for numeric component. Empty string
awe.numeric.currency-placeControls the placement of the currency symbol for numeric component. Default value s (suffix to the right). Use p for prefix to the left.s
awe.numeric.empty-valueControls controls input display behavior for numeric component.empty

AWE Session Properties

These are the session configuration properties for AWE projects. They have the prefix awe.session.

NameDescriptionDefault value
awe.session.parameterParameters map injected to session when the application context is starting. Ex: awe.session.parameter.par1=QueryNameawe.session.parameter.module=ModNamByOpeSel awe.session.parameter.site=SitNamByOpeSel awe.session.parameter.database=DbsAlsBySitModSel

AWE Email Properties

These are the Email engine configuration properties for AWE projects. They have the prefix awe.mail.

NameDescriptionDefault value
awe.mail.enabledFlag to enable awe email features. The Default value is false.false
awe.mail.hostEmail server host.
awe.mail.portEmail server port.25
awe.mail.authEmail authentication. Flag to specify if authentication is needed.false
awe.mail.userEmail server auth username.
awe.mail.passEmail server auth password.
awe.mail.debugExecute email in debug mode. The Default value is false.false
awe.mail.sslFlag to specify the usage of SSL protocol.false
awe.mail.tlsFlag to specify the usage of TLS protocol.false
awe.mail.localhostName of local smtp server.localhost

AWE Developer Properties

These are the Developer module configuration properties for AWE projects. They have the prefix awe.developer.

NameDescriptionDefault value
awe.developer.pathDeveloper path. Used to manage the locale files.${user.home}/awe-developer
awe.developer.path-filePath file name.path.properties
awe.developer.path-propertyPath property name.path.project
awe.developer.translation-serviceTranslation service.my_memory
awe.developer.translation.mymemory.keyMyMemory api key.10ecdc1ed89ac3ebed3b
awe.developer.translation.mymemory.hostMyMemory translation service host.api.mymemory.translated.net
awe.developer.translation.mymemory.emailTranslation service reference email.awe@almis.com
awe.developer.translation.rapidapi.keyRapidAPI api key.f20790a0d6msh98d1dad8f0e3da9p10eb19jsn671d6cab2ec5
awe.developer.translation.rapidapi.hostRapidAPI translation service host.translated-mymemory---translation-memory.p.rapidapi.com
awe.developer.translation.rapidapi.emailTranslation service reference email.awe@almis.com

AWE Rest Properties

These are the REST connector and Microservice connector configuration properties for AWE projects. They have the prefix awe.rest.

NameDescriptionDefault value
awe.rest.client-enabledEnable AWE application as Eureka Client.false
awe.rest.connection-timeoutRest connection timeout in millis.5s Duration
awe.rest.connection-request-timeoutConnection request timeout in millis.5s Duration
awe.rest.servicesMap with Rest services info used by AWE microservice and REST connector. See these examples
awe.rest.api.doc-titleOpen API Info title.AWE Rest API
awe.rest.api.doc-descriptionOpen API Info description.Rest API to access AWE services
awe.rest.api.doc-versionOpen API Info version.v1.0.0
awe.rest.api.doc-contact-nameOpen API Contact name.
awe.rest.api.doc-contact-urlOpen API Contact url.
awe.rest.api.doc-contact-emailOpen API Contact email.
awe.rest.api.doc-license-nameOpen API License name.Apache 2.0
awe.rest.api.doc-license-urlOpen API License url.https://www.apache.org/licenses/LICENSE-2.0.html
awe.rest.api.doc-terms-of-service-urlOpen API Terms of service url.
awe.rest.api.doc-external-descriptionOpen API External doc description.
awe.rest.api.doc-external-urlOpen API External doc url.
awe.rest.api.jwt.authorization-headerAuthentication header name for AWE Rest moduleAuthorization
awe.rest.api.jwt.prefixJWT token prefix.Bearer
awe.rest.api.jwt.secretJWT secret password for sign token.Value of awe.security.master.key
awe.rest.api.jwt.issuerJWT issuer name.AWE ISSUER
awe.rest.api.jwt.expiration-timeJWT time valid token to expire in minutes.60m Duration

Examples Rest services definitions

application.properties
################################################
# Microservices properties
################################################
awe.rest.services.clients-microservice.base-url=http://localhost:8081
# Microservice parameters
awe.rest.services.clients-microservice.parameters[0].name=database
awe.rest.services.clients-microservice.parameters[0].type=session
awe.rest.services.clients-microservice.parameters[1].name=username
awe.rest.services.clients-microservice.parameters[1].type=session
awe.rest.services.clients-microservice.parameters[2].name=currentDate
awe.rest.services.clients-microservice.parameters[2].type=session
awe.rest.services.clients-microservice.parameters[3].name=numPar
awe.rest.services.clients-microservice.parameters[3].value=3
# microservices.[service-name] to overwrite microservice base endpoint
awe.rest.services.other-service.name=other-service-bis
awe.rest.services.other-service.base-url=http://localhost:8082

################################################
# Rest services properties
################################################
awe.rest.services.local.base-url=http://localhost:18081
awe.rest.services.island.base-url=https://apis.is
awe.rest.services.postman.base-url=https://postman-echo.com
# Rest security
awe.rest.services.postman.authentication.type=basic
awe.rest.services.postman.authentication.username=postman
awe.rest.services.postman.authentication.password=password

AWE Scheduler Properties

These are the Scheduler module configuration properties for AWE projects. They have the prefix awe.scheduler.

NameDescriptionDefault value
awe.scheduler.tasks-load-on-startFlag to load tasks on start application.true
awe.scheduler.stored-executionsNumber of executions to stored in log.5
awe.scheduler.report-email-from-valueScheduler report email.scheduler@almis.com
awe.scheduler.execution-log-pathScheduler execution log path.${logging.file.path:${java.io.tmpdir}}/scheduler
awe.scheduler.execution-log-patternScheduler execution log pattern.%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p : %m%n%wEx
awe.scheduler.task-timeoutScheduler tasks default timeout in seconds.1800s Duration
awe.scheduler.task-pool.sizeSchedule Task pool size.20
awe.scheduler.task-pool.max-sizeScheduler task pool max size.50
awe.scheduler.task-pool.queue-sizeScheduler task pool queue capacity.1000
awe.scheduler.task-pool.terminationScheduler task pool termination.120s Duration

Encoding property value

There's a way to store encoded properties (such as passwords) in a properties file. You need to deploy the application, and enter into Settings -> Security access -> Encrypt util, fill the text criterion with the password and push the Encrypt button. The Encrypted property field is the value of the encoded password.

Almis

Once encoded, you just need to put it on any of your properties files and use it:

my.encoded.password=ENC(Pit1Q1bNt3uNQpZbldKbLg==)

ℹ️ The master key used to encode the properties is the awe.security.master-key property from security.properties file. You can overwrite it on your own application.properties file.


⚠️ The Phrase key field on the Encrypt util screen allows you to generate the encoded properties with other passwords, but don't forget that the encoded properties with a phrase key and the awe.security.master-key must match to be decoded successfully.


Overwriting properties

You can overwrite a any property of awe framework by adding it to your application.properties file of the project.

Awe has the same reading properties order than Spring (1. Is the highest preference).

  1. Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties when devtools is active).
  2. @TestPropertySource annotations on your tests.
  3. @SpringBootTest#properties annotation attribute on your tests.
  4. Command line arguments.
  5. Properties from SPRING_APPLICATION_JSON (inline JSON embedded in an environment variable or system property)
  6. ServletConfig init parameters.
  7. ServletContext init parameters.
  8. JNDI attributes from java:comp/env.
  9. Java System properties (System.getProperties()).
  10. OS environment variables.
  11. A RandomValuePropertySource that only has properties in random.*.
  12. Profile-specific application properties outside of your packaged jar (application-{profile}.properties and YAML variants)
  13. Profile-specific application properties packaged inside your jar (application-{profile}.properties and YAML variants)
  14. Application properties outside of your packaged jar (application.properties and YAML variants).
  15. Application properties packaged inside your jar (application.properties and YAML variants).
  16. @PropertySource annotations on your @Configuration classes.
  17. Default properties (specified using SpringApplication.setDefaultProperties).

Externalized configuration

If you need load the configuration from one external file, you have to consider:

AWE like SpringApplication will load properties from application.properties files in the following locations and add them to the Spring Environment:

A /config subdirectory of the current directory.

  1. The current directory
  2. A classpath /config package
  3. The classpath root

Also, you can set spring.config.location environment property the run command.

java -jar myAweProject.jar --spring.config.location=file:/external_path/specific.properties

ℹ️ You can find more information about this in heck the Official Spring documentation .