Saltar al contenido principal
Version: próxima

Propiedades

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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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.

NombreDescripciónValor predeterminado
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

Valor de la propiedad de codificación

Hay una forma de almacenar propiedades codificadas (como contraseñas) en un archivo de propiedades. 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. El campo Propiedad cifrada es el valor de la contraseña codificada.

Almis

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 from security.properties file. Puede ser sobrescrito en su propio archivo application.properties.


⚠️ 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.


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).

  1. Propiedades de configuración global de Devtools en su directorio inicial (~/.spring-boot-devtools.properties cuando devtools está activo).
  2. Anotaciones @TestPropertySource en sus pruebas.
  3. Anotación @SpringBootTest#properties en sus pruebas.
  4. Argumentos de línea de comandos.
  5. Propiedades de SPRING_APPLICATION_JSON (JSON embebido en una variable de entorno o en una propiedad de sistema)
  6. Parámetros de inicio de ServletConfig.
  7. Parámetros de inicio de ServletContext.
  8. Atributos JNDI de java:comp/env.
  9. Propiedades de Sistema de Java (System.getProperties()).
  10. Variables de entorno del SO.
  11. Un RandomValuePropertySource que solo tiene propiedades en random.*.
  12. Propiedades de aplicación específicas del perfil fuera de su jar empaquetado (application-{profile}.properties y variantes YAML)
  13. Propiedades de aplicación específicas del perfil empaquetadas dentro de su jar (application-{profile}.properties y variantes YAML)
  14. Propiedades de aplicación fuera de su jar empaquetado (application.properties y variantes YAML).
  15. Propiedades de aplicación empaquetadas dentro de su jar (application.properties y variantes YAML).
  16. Anotaciones @PropertySource en sus clases @Configuration.
  17. 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.

  1. El directorio actual
  2. Un paquete /config en el classpath
  3. 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 .