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
.
Name | Description | Default value |
---|---|---|
awe.application.encoding | Base encoding for all files. | UTF-8 |
awe.application.name | Application name. | AWE (Almis Web Engine) |
awe.application.language-default | Application language in ISO 639-1 2 Letters format. (en = English). | en (en = English) |
awe.application.language-list | Application available languages in ISO 639-1 2 Letters format. (en = English). | en, es, fr list with EN, ES, FR languages |
awe.application.theme | Application theme. | sky Sky theme |
awe.application.acronym | Application acronym. Corresponds to the name of the artifactId of the project. | awe |
awe.application.module-list | List with application modules separate by commas. Used to load xml files for each module. | |
awe.application.address | Application address parameter name. | address |
awe.application.preload-screens | Enable preload screens. | true |
awe.application.reload-current-screen | Reload current screen. | false |
awe.application.extension-xml | XML file extension parameter name. | .xml |
awe.application.print-all-options-enable | Show all print options. | true |
awe.application.log-group | Define the parent path for application log files. | /application |
awe.application.log-manager-path | Define 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-enable | Flag to activate log file appender by user. | true |
awe.application.highcharts-server-url | Highcharts export server url. | https://export.highcharts.com |
awe.application.loading-timeout | Loading timeout in milliseconds. | 10000ms Duration |
awe.application.files.actions | Xml file name of actions definition. | Actions |
awe.application.files.services | Xml file name of services definition. | Services |
awe.application.files.locale | Xml file name of locales definition. | Locale- |
awe.application.files.enumerated | Xml file name of enumerated definition. | Enumerated |
awe.application.files.query | Xml file name of queries definition. | Queries |
awe.application.files.queue | Xml file name of Queues definition. | Queues |
awe.application.files.maintain | Xml file name of maintains definition. | Maintain |
awe.application.files.components | Xml file name of components definition. | Components |
awe.application.files.templates | Xml file name of templates definition. | Templates |
awe.application.files.email | Xml file name of Email definition. | Email |
awe.application.files.menu-public | Xml file name of public menu definition. | public |
awe.application.files.menu-private | Xml file name of private menu definition. | private |
awe.application.paths.base | Application base path. | / Root path |
awe.application.paths.application | Application folder path. | /application/ |
awe.application.paths.global | Global folder path. | /global/ |
awe.application.paths.locale | Locale folder path. | /locale/ |
awe.application.paths.screen | Screen folder path. | /screen/ |
awe.application.paths.profile | Profile folder path. | /profile/ |
awe.application.paths.menu | Menu folder path. | /menu/ |
awe.application.paths.templates | Templates folder path. | templates/ |
awe.application.paths.templates-angular | Angular templates folder path. | angular |
awe.application.paths.tag | Tag folder path. | tags/ |
awe.application.paths.tag-angular | Tag angular folder path. | tags/angular/ |
awe.application.paths.server | Server path. Used for set initial URL. | |
awe.application.paths.images | Images folder path. | images/ |
awe.application.paths.reports | Reports destination folder path. | @reports (@ is a relative path from awe.application.paths.base property) |
awe.application.paths.reports-historic | Historic report's destination folder path. | @historicReports/ (@ is a relative path from awe.application.paths.base property) |
awe.application.paths.documents | Documents folder path. | static/docs/ |
awe.application.paths.jrx | Jasper jrx folder path. | /jrx/ |
awe.application.paths.temp | Temp folder path. | ${java.io.tmpdir:/tmp} |
awe.application.paths.icon-favicon | Favicon icon path. Uses application.paths.images as parent path. | /images/icon/favicon-awe.ico |
awe.application.paths.icon-phone | Apple icon 57x57 path. Uses application.paths.images as parent path. | /images/icon/favicon-awe.ico |
awe.application.paths.image-startup-logo | Home screen logo. Uses awe.application.paths.images as parent path. Default value ../images/logo/logo-awe-nuevo.svg | logo/logo-awe-nuevo.svg |
awe.application.paths.image-startup-background | Home screen background image. Uses application.paths.images as parent path.. Default value ../images/logo/signin-bg-1.jpg | logo/signin-bg-1.jpg |
awe.application.parameter.username | Screen username parameter value. | cod_usr |
awe.application.parameter.password | Screen password parameter value. | pwd_usr |
awe.application.parameter.token | Token parameter name. | t |
awe.application.screen.home | Home screen name. | home |
awe.application.screen.change-password | Change password screen name. | change_password |
awe.application.screen.initial | Default initial screen name. | information |
awe.application.component.size | Components size. | sm (Small) |
awe.application.component.data-suffix | Suffix of data parameter send from client. | .data |
awe.application.component.grid-rows-per-page | Rows per page in grid component (Set to 0 to avoid pagination). | 30 |
awe.application.component.grid-pixels-per-character | Pixels per char in grids. | 8 |
awe.application.component.criteria-rows-per-page | Rows per page in criteria component (Set to 0 to avoid pagination). | 100 |
awe.application.component.computed-empty-if-null | Empty computed values if one of the wildcards are empty. | true |
awe.application.component.suggest-timeout | Suggest component timeout in milliseconds. | 300ms Duration |
awe.application.component.help-timeout | Component help timeout in milliseconds. | 1000ms Duration |
awe.application.component.upload-file-id | File uploader component Id. | u |
awe.application.component.upload-file-path | Path 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-size | Max size for uploaded files (in MB). | 100MB DataSize |
awe.application.component.upload-max-files-folder | Max elements per folder. Used to create temporal folder where save uploaded files. | 100 |
awe.application.component.download-file-id | File downloader component Id. | d |
awe.application.component.pivot-num-group | Number of group element limit of pivot table component. | 5000 |
awe.application.component.chart-limit-point-serie | Limit of points series in chart component. | 1000000 |
awe.application.component.tooltip.ok-timeout | Timeout for ok messages (in milliseconds). | 2000ms Duration |
awe.application.component.tooltip.error-timeout | Timeout for error messages (in milliseconds). | 0ms Duration |
awe.application.component.tooltip.warning-timeout | Timeout for warning messages (in milliseconds). | 4000ms Duration |
awe.application.component.tooltip.info-timeout | Timeout for info messages (in milliseconds). | 0ms Duration |
awe.application.component.tooltip.validate-timeout | Timeout for validate messages (in milliseconds). | 2000ms Duration |
awe.application.component.tooltip.help-timeout | Timeout for help messages (in milliseconds). | 5000ms Duration |
awe.application.component.tooltip.chat-timeout | Timeout for chat messages (in milliseconds). | 0ms Duration |
awe.application.component.tooltip.wrong-timeout | Timeout for wrong messages (in milliseconds). | 0ms Duration |
awe.application.jms.enabled | Enable AWE JMS service connector. | false |
awe.application.jms.service-timeout | Jms service timeout in milliseconds. | 10000ms Duration |
awe.application.jms.message-time-to-live | Jms 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-path | File manager base path. | / (Root path) |
awe.application.file-manager.date-format | File manager date format. | yyyy-MM-dd hh:mm:ss |
awe.application.task.pool.size | Task executor pool size. | 20 |
awe.application.task.pool.max-size | Task executor pool max elements. | 50 |
awe.application.task.pool.queue-size | Task executor queue size. | 1000 |
awe.application.task.pool.await-termination | Task executor await termination in seconds. | 120s Duration |
awe.application.task.pool.thread-prefix | AWE Pool executor threads prefix. | AweThread- |
awe.application.task.pool.help-thread-prefix | AWE Help Pool executor threads prefix. | AweHelpThread- |
awe.application.task.pool.contextless-thread-prefix | AWE 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
.
Name | Description | Default value |
---|---|---|
awe.database.enabled | Enable awe database loading beans. | true |
awe.database.parameter-name | Database criterion name. Configure the database parameter to retrieve the value from screen context. | _database_ |
awe.database.limit-log-size | Limit log size when a query is printed (0 to disable). | 0 |
awe.database.multidatabase-enable | Enable multi database. Enable a custom datasource to allow connections to multiple database. | false |
awe.database.migration-modules | List of modules separated by comma to be migrated by flyway. | AWE |
awe.database.migration-prefix | Script migration prefix pattern name. Default value [Module]_V (Ex: AWE_V) | %s_V |
awe.database.migration-repeatable-prefix | Repeatable script migration prefix pattern name. Default value [Module]_R (Ex: AWE_R) | %s_R |
awe.database.audit-enable | Enable audit operations in AWE database engine. | true |
awe.database.audit-date | Name of Date column in audit tables. | HISdat |
awe.database.audit-user | Name of User column in audit tables. | HISope |
awe.database.audit-action | Name of Action column in audit tables. | HISact |
awe.database.audit-lag | Audit lag in milliseconds. Used to built a timestamp in audit process. | 100ms Duration |
awe.database.batch-max | Chunk size for batch operations. | 100 |
AWE Security Properties
These are all security configuration properties for AWE projects. They have the prefix awe.security
.
Name | Description | Default value |
---|---|---|
awe.security.master-key | Master key used in encryption process. | B1Le3s%25abc75TeBe05 |
awe.security.auth-mode | Authentication mode. | bbdd BBDD (Database) |
awe.security.auth-custom-providers | Authentication custom class providers. Used to implement your custom authentication provider. | |
awe.security.json-encrypt-enable | Enable json encoding with BASE64 between client-server. | false |
awe.security.json-parameter | Encrypted parameter list name. | p |
awe.security.default-restriction | efault restriction set (default should be the most restricted). | general |
awe.security.role-prefix | Role prefix to build user grants in spring security. | ROLE_ |
awe.security.xstream-allow-paths | Allows paths for xstream serializer. | java.*", "com.almis.awe.model.entities.**_ |
awe.security.password-pattern | Password regex pattern. Used in criteria validation field. | .* |
awe.security.password-min-length | Password minimum length. Used in criteria validation field. | 4 |
awe.security.same-origin-enable | Enable same origin in http headers. Avoid cross domain frame requests. | true |
awe.security.allowed-origin-patterns | List with allowed origin paths separate by commas. | * |
awe.security.ldap.user-filter | Ldap user login property name. In WINDOWS environment sAMAccountName={0} . In UNIX environment uid={0} | sAMAccountName={0} |
awe.security.ldap.url | Ldap server url. Set server values separate by commas when you need config more than one. | ldap://localhost:389 |
awe.security.ldap.base-dn | Ldap base domain for search. Default value empty (Root Dn). | |
awe.security.ldap.user-bind | Ldap user bind search pattern. | |
awe.security.ldap.password-bind | Ldap bind password. | |
awe.security.ldap.connect-timeout | Ldap connection timeout in millis. Set com.sun.jndi.ldap.connect.timeout environment property. | 5000ms Duration |
awe.security.ldap.read-timeout | Ldap read timeout in millis. Set com.sun.jndi.ldap.read.timeout environment property. | 5000ms Duration |
awe.security.totp.enabled | Disable, enable or force the TOTP. | disabled |
awe.security.totp.initial-screen | Initial screen to check TOTP. | check-2fa |
awe.security.totp.activate-screen | Initial screen to force enable TOTP. | activate-2fa |
AWE Numeric Properties
These are the numeric configuration properties for AWE projects. They have the prefix awe.numeric
.
Name | Description | Default value |
---|---|---|
awe.numeric.format | Number format separator for input numeric. Default value NumericFormatType.EUR (eur). European numeric format ('.' as thousands character and ',' as decimal character). | eur |
awe.numeric.round-type | Rounding type for numeric operations. Default value Half Up Symmetric (S). See RoundTypes for more info. | S RoundingType.HALF_UP_SYMMETRIC |
awe.numeric.pattern-formatted | Numeric format for field pattern value. | ###,###.#### |
awe.numeric.pattern-unformatted | Numeric format for field pattern value (plain, without a thousand separators). | ######.#### |
awe.numeric.min-value | Minimum value for numeric component. | -9999999999.99 |
awe.numeric.max-value | Maximum value for numeric component. | 9999999999.99 |
awe.numeric.padding-with-zeros | Padding with zeros to complete format number in numeric component. | false |
awe.numeric.decimal-numbers | Number of decimals for numeric component. | 5 |
awe.numeric.separator-thousand | Thousands separator for numeric component. Default value Thousands Char of NumericFormatType (awe.numeric.format ) | . |
awe.numeric.separator-decimal | Decimal separator for numeric component. Default value Decimal Char of NumericFormatType (awe.numeric.format ) | , |
awe.numeric.group-decimal | Controls the digital grouping - the placement of the thousand separator for numeric component. | 3 |
awe.numeric.currency-sign | Desired currency symbol for numeric component. | Empty string |
awe.numeric.currency-place | Controls 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-value | Controls 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
.
Name | Description | Default value |
---|---|---|
awe.session.parameter | Parameters map injected to session when the application context is starting. Ex: awe.session.parameter.par1=QueryName | awe.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
.
Name | Description | Default value |
---|---|---|
awe.mail.enabled | Flag to enable awe email features. The Default value is false. | false |
awe.mail.host | Email server host. | |
awe.mail.port | Email server port. | 25 |
awe.mail.auth | Email authentication. Flag to specify if authentication is needed. | false |
awe.mail.user | Email server auth username. | |
awe.mail.pass | Email server auth password. | |
awe.mail.debug | Execute email in debug mode. The Default value is false. | false |
awe.mail.ssl | Flag to specify the usage of SSL protocol. | false |
awe.mail.tls | Flag to specify the usage of TLS protocol. | false |
awe.mail.localhost | Name of local smtp server. | localhost |
AWE Developer Properties
These are the Developer module configuration properties for AWE projects. They have the prefix awe.developer
.
Name | Description | Default value |
---|---|---|
awe.developer.path | Developer path. Used to manage the locale files. | ${user.home}/awe-developer |
awe.developer.path-file | Path file name. | path.properties |
awe.developer.path-property | Path property name. | path.project |
awe.developer.translation-service | Translation service. | my_memory |
awe.developer.translation.mymemory.key | MyMemory api key. | 10ecdc1ed89ac3ebed3b |
awe.developer.translation.mymemory.host | MyMemory translation service host. | api.mymemory.translated.net |
awe.developer.translation.mymemory.email | Translation service reference email. | awe@almis.com |
awe.developer.translation.rapidapi.key | RapidAPI api key. . | f20790a0d6msh98d1dad8f0e3da9p10eb19jsn671d6cab2ec5 |
awe.developer.translation.rapidapi.host | RapidAPI translation service host. | translated-mymemory---translation-memory.p.rapidapi.com |
awe.developer.translation.rapidapi.email | Translation 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
.
Name | Description | Default value |
---|---|---|
awe.rest.client-enabled | Enable AWE application as Eureka Client. | false |
awe.rest.connection-timeout | Rest connection timeout in millis. | 5s Duration |
awe.rest.connection-request-timeout | Connection request timeout in millis. | 5s Duration |
awe.rest.services | Map with Rest services info used by AWE microservice and REST connector. See these examples | |
awe.rest.api.doc-title | Open API Info title. | AWE Rest API |
awe.rest.api.doc-description | Open API Info description. | Rest API to access AWE services |
awe.rest.api.doc-version | Open API Info version. | v1.0.0 |
awe.rest.api.doc-contact-name | Open API Contact name. | |
awe.rest.api.doc-contact-url | Open API Contact url. | |
awe.rest.api.doc-contact-email | Open API Contact email. | |
awe.rest.api.doc-license-name | Open API License name. | Apache 2.0 |
awe.rest.api.doc-license-url | Open API License url. | https://www.apache.org/licenses/LICENSE-2.0.html |
awe.rest.api.doc-terms-of-service-url | Open API Terms of service url. | |
awe.rest.api.doc-external-description | Open API External doc description. | |
awe.rest.api.doc-external-url | Open API External doc url. | |
awe.rest.api.jwt.authorization-header | Authentication header name for AWE Rest module | Authorization |
awe.rest.api.jwt.prefix | JWT token prefix. | Bearer |
awe.rest.api.jwt.secret | JWT secret password for sign token. | Value of awe.security.master.key |
awe.rest.api.jwt.issuer | JWT issuer name. | AWE ISSUER |
awe.rest.api.jwt.expiration-time | JWT time valid token to expire in minutes. | 60m Duration |
Examples Rest services definitions
################################################
# 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
.
Name | Description | Default value |
---|---|---|
awe.scheduler.tasks-load-on-start | Flag to load tasks on start application. | true |
awe.scheduler.stored-executions | Number of executions to stored in log. | 5 |
awe.scheduler.report-email-from-value | Scheduler report email. | scheduler@almis.com |
awe.scheduler.execution-log-path | Scheduler execution log path. | ${logging.file.path:${java.io.tmpdir}}/scheduler |
awe.scheduler.execution-log-pattern | Scheduler execution log pattern. | %d{yyyy-MM-dd HH:mm:ss.SSS} -%5p : %m%n%wEx |
awe.scheduler.task-timeout | Scheduler tasks default timeout in seconds. | 1800s Duration |
awe.scheduler.task-pool.size | Schedule Task pool size. | 20 |
awe.scheduler.task-pool.max-size | Scheduler task pool max size. | 50 |
awe.scheduler.task-pool.queue-size | Scheduler task pool queue capacity. | 1000 |
awe.scheduler.task-pool.termination | Scheduler 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.
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 fromsecurity.properties
file. You can overwrite it on your ownapplication.properties
file.
⚠️ The
Phrase key
field on theEncrypt 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 theawe.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).
- Devtools global settings properties on your home directory (
~/.spring-boot-devtools.properties
when devtools is active). @TestPropertySource
annotations on your tests.@SpringBootTest#properties
annotation attribute on your tests.- Command line arguments.
- Properties from
SPRING_APPLICATION_JSON
(inline JSON embedded in an environment variable or system property) ServletConfig
init parameters.ServletContext
init parameters.- JNDI attributes from
java:comp/env
. - Java System properties (
System.getProperties()
). - OS environment variables.
- A
RandomValuePropertySource
that only has properties inrandom.*.
- Profile-specific application properties outside of your packaged jar (
application-{profile}.properties
and YAML variants) - Profile-specific application properties packaged inside your jar (
application-{profile}.properties
and YAML variants) - Application properties outside of your packaged jar (
application.properties
and YAML variants). - Application properties packaged inside your jar (
application.properties
and YAML variants). @PropertySource
annotations on your@Configuration
classes.- 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.
- The current directory
- A classpath /config package
- 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 .