Properties
Introducción
Se pueden especificar varias propiedades dentro del archivo application.properties
, dentro del archivo application.yml
o como interruptores de línea de comandos. Este documento proporciona una lista de propiedades comunes de AWE y referencias a las clases subyacentes que las consumen.
ℹ️ Los valores de las propiedades pueden provenir de archivos jar adicionales en el classpath, por lo que no se debería considerar esta como una lista exhaustiva. También puede definir sus propias propiedades.
ℹ️ 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 | Descripción | 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 | Descripción | 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 | Descripción | 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 | Descripción | 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 | Descripción | 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 | Descripción | 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 | Descripción | 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. | |
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 | Descripción | 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.jwt.authorization-header | Authentication header name for AWE Rest module | Authorization |
awe.rest.jwt.prefix | JWT token prefix. | Bearer |
awe.rest.jwt.secret | JWT secret password for sign token. | Value of awe.security.master.key |
awe.rest.jwt.issuer | JWT issuer name. | AWE ISSUER |
awe.rest.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 | Descripción | 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 |
Valor de la propiedad de codificación
Hay una forma de almacenar propiedades codificadas (como contraseñas) en un archivo de propiedades. Hay que desplegar la aplicación, y acceder a Configuración -> Seguridad -> Encriptación
, rellenar el criterio de texto con la contraseña y pulsar el botón Encriptar
. El campo Propiedad cifrada
es el valor de la contraseña codificada.
Una vez codificado, solo es necesario ponerlo en cualquiera de los archivos de propiedades y usarlo:
my.encoded.password=ENC(Pit1Q1bNt3uNQpZbldKbLg==)
ℹ️ The master key used to encode the properties is the
awe.security.master-key
property fromsecurity.properties
file. Puede ser sobrescrito en su propio archivoapplication.properties
.
⚠️ 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.
Sobreescritura de propiedades
Se puede sobrescribir cualquier propiedad de awe framework agregándolo a su archivo application.properties
del proyecto.
Awe tiene el mismo orden de lectura de propiedades que Spring (1. Es la preferencia más alta).
- Propiedades de configuración global de Devtools en su directorio inicial (
~/.spring-boot-devtools.properties
cuando devtools está activo). - Anotaciones
@TestPropertySource
en sus pruebas. - Anotación
@SpringBootTest#properties
en sus pruebas. - Argumentos de línea de comandos.
- Propiedades de
SPRING_APPLICATION_JSON
(JSON embebido en una variable de entorno o en una propiedad de sistema) - Parámetros de inicio de
ServletConfig
. - Parámetros de inicio de
ServletContext
. - Atributos JNDI de
java:comp/env
. - Propiedades de Sistema de Java (
System.getProperties()
). - Variables de entorno del SO.
- Un
RandomValuePropertySource
que solo tiene propiedades enrandom.*.
- Propiedades de aplicación específicas del perfil fuera de su jar empaquetado (
application-{profile}.properties
y variantes YAML) - Propiedades de aplicación específicas del perfil empaquetadas dentro de su jar (
application-{profile}.properties
y variantes YAML) - Propiedades de aplicación fuera de su jar empaquetado (
application.properties
y variantes YAML). - Propiedades de aplicación empaquetadas dentro de su jar (
application.properties
y variantes YAML). - Anotaciones
@PropertySource
en sus clases@Configuration
. - Propiedades predeterminadas (especificadas usando
SpringApplication.setDefaultProperties
).
Configuración externa
Si necesita cargar la configuración desde un archivo externo, debe considerar:
AWE como SpringApplication
cargará propiedades de los archivos application.properties en las siguientes ubicaciones y los añadirá al entorno Spring
:
Un subdirectorio /config
del directorio actual.
- El directorio actual
- Un paquete /config en el classpath
- La raíz de classpath
También, puedes establecer spring.config.location
propiedad de entorno el comando de ejecución.
java -jar myAweProject.jar --spring.config.location=file:/external_path/specific.properties
ℹ️ Puedes encontrar más información al respecto en la documentación oficial de Spring .