Saltar al contenido principal
Version: Next (5.0)

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.


ℹ️ Para conocer el resto de propiedades de configuración de Spring Boot, visite Spring Appendix A


Propiedades base de AWE​

Estas son las propiedades base de configuración de la aplicación para los proyectos AWE. Tienen el prefijo awe.application.

NombreDescripciónValor predeterminado
awe.application.encodingCodificación base para todos los archivos.UTF-8
awe.application.nameNombre de la aplicación.AWE (Almis Web Engine)
awe.application.language-defaultIdioma de la aplicación en formato ISO 639-1 de 2 letras (en = inglés).en (en = inglés)
awe.application.language-listIdiomas disponibles de la aplicación en formato ISO 639-1 de 2 letras (en = inglés).en, es, fr lista con los idiomas EN, ES, FR
awe.application.themeTema de la aplicación.sky tema Sky
awe.application.theme-primaryColor primario del tema de la aplicación: una de las paletas de AWE 5 (emerald, green, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose, red, orange, amber, yellow, lime) o un color hexadecimal (#RGB o #RRGGBB). Sustituye al color primario del tema.vacío (el color primario del tema; si no, emerald)
awe.application.theme-surfaceSuperficie del tema de la aplicación: una de las paletas neutras de AWE 5 (slate, gray, zinc, neutral, stone), auto o un color hexadecimal (#RGB o #RRGGBB). Sustituye a la superficie del tema.vacío (la superficie del tema; si no, auto)
awe.application.theme-modeModo del tema de la aplicación: light, dark o system (sigue al sistema operativo). Sustituye al modo del tema; el modo que elige el usuario lo sustituye a él.vacío (el modo del tema; si no, system)
awe.application.densityDensidad de la aplicación: comfortable o compact. La densidad que elige el usuario la sustituye.comfortable
awe.application.acronymAcrónimo de la aplicación. Corresponde al nombre del artifactId del proyecto.awe
awe.application.menu-typeConfigura la disposición del menú de la aplicación. Horizontal o vertical.horizontal
awe.application.menu-search-enabledHabilita el cuadro de búsqueda de opciones del menú. Establézcalo en false para ocultarlo.true
awe.application.map.tile-urlPlantilla de URL de las teselas de los mapas, con los marcadores {z}, {x} e {y}. Respete la política de uso del servidor de teselas: el servidor de OpenStreetMap por defecto es para uso ligero, use su propio servidor de teselas si el tráfico es alto.https://tile.openstreetmap.org/{z}/{x}/{y}.png
awe.application.login.layoutDiseño de la página de inicio de sesión: split (la columna del formulario junto al panel de fondo), form-only (el formulario centrado y solo) o card (el formulario en una tarjeta sobre el fondo a pantalla completa). Cualquier otro valor equivale a split.split
awe.application.login.logoLogotipo de la página de inicio de sesión. Admite una URL relativa a la raíz de la aplicación, una URL absoluta o una URI data:. Si está vacío, se usa awe.application.paths.image-startup-logo si se ha cambiado y, si no, el logotipo de AWE.vacío
awe.application.login.logo-darkLogotipo de la página de inicio de sesión en modo oscuro. Admite una URL relativa a la raíz de la aplicación, una URL absoluta o una URI data:.vacío (el logotipo)
awe.application.login.backgroundImagen de fondo de la página de inicio de sesión: el panel del diseño split y el fondo del diseño card. Admite una URL relativa a la raíz de la aplicación, una URL absoluta o una URI data:. Si está vacía, se usa awe.application.paths.image-startup-background si se ha cambiado y, si no, el panel de marca de AWE.vacío
awe.application.login.background-effectNombre de un efecto canvas que registra la aplicación para el panel de imagen de la página de inicio de sesión (el panel del diseño split y el fondo del diseño card; el diseño form-only no tiene fondo). AWE no incluye ningún efecto: la aplicación registra los efectos que escribe en su propio bundle y elige uno aquí (consulte "Efecto de fondo propio" en el sistema de diseño para el contrato y los ejemplos). Vacío significa sin efecto, así que se mantiene la imagen de fondo.vacío
awe.application.login.titleTítulo del formulario de inicio de sesión. Una clave de idioma o un literal.SCREEN_TEXT_LOGIN_TITLE ("Bienvenido a AWE")
awe.application.login.subtitleSubtítulo del formulario de inicio de sesión. Una clave de idioma o un literal.SCREEN_TEXT_LOGIN_SUBTITLE ("Introduce tus credenciales para continuar.")
awe.application.login.panel-titleTítulo del pie sobre la imagen de fondo. Una clave de idioma o un literal.SCREEN_TEXT_LOGIN_PANEL_TITLE ("AWE Framework")
awe.application.login.panel-subtitleTexto del pie sobre la imagen de fondo. Una clave de idioma o un literal.SCREEN_TEXT_LOGIN_PANEL_SUBTITLE ("Aplicaciones web funcionales completas con low code")
awe.application.login.footer-textTexto del pie de la página de inicio de sesión, por ejemplo el copyright. Una clave de idioma o un literal.vacío
awe.application.login.powered-byMuestra "Powered by AWE 5" en el pie de la página de inicio de sesión.true
awe.application.login.language-selectorMuestra el selector de idioma en el pie de la página de inicio de sesión, con los idiomas de awe.application.language-list.true
awe.application.login.mode-selectorMuestra el selector de modo claro, oscuro y sistema en el pie de la página de inicio de sesión.true
awe.application.module-listLista de módulos de la aplicación separados por comas. Se utiliza para cargar los archivos xml de cada módulo.
awe.application.default-roleRol de usuario por defecto de la aplicación cuando el usuario inicia sesión con el método de autenticaciónoperator
awe.application.addressNombre del parámetro de dirección de la aplicación.address
awe.application.reload-current-screenRecargar la pantalla actual.false
awe.application.xml-hot-reloadHabilita la recarga en caliente de las definiciones XML (solo desarrollo): los archivos XML modificados se recargan en el momento sin reiniciar.false
awe.application.xml-hot-reload-sourcesDirectorios de origen a vigilar para la recarga en caliente de XML (p. ej. src/main/resources). Los archivos XML modificados se copian a la ubicación del classpath antes de recargarlos.
awe.application.extension-xmlNombre del parámetro de extensión de los archivos XML..xml
awe.application.print-all-options-enableMostrar todas las opciones de impresión.true
awe.application.log-groupDefine la ruta padre de los archivos de log de la aplicación./application
awe.application.log-manager-pathDefine la ruta donde el gestor de logs de awe busca los archivos de log.${logging.file.path:${java.io.tmpdir}} ${awe.application.log.group:/application}
awe.application.log-user-enableIndicador para activar el appender de archivos de log por usuario.true
awe.application.chart-server-urlURL del servidor de gráficos de AWE, que dibuja en SVG los gráficos del servidor (ChartService) con Apache ECharts.http://localhost:7801
awe.application.loading-timeoutTiempo de espera de carga en milisegundos.10000ms Duration
awe.application.xstream-driver-typeXStream(analizador de archivos XML) tipo de driver. Elija entre dom, xpp y stax. Cámbielo si la carga de XML es lentadom
awe.application.json-onlyServir solo JSON. AWE elimina de la lista de conversores de mensajes HTTP todos los que anuncian XML, de modo que su formato de comunicación no depende de que un proveedor XML (como jackson-dataformat-xml) llegue al classpath de forma transitiva. Con esta opción habilitada, un Accept: application/xml explícito responde 406 Not Acceptable. Establézcala en false para mantener los conversores XML; cualquier otro valor deja activo solo JSON.true
awe.application.files.actionsNombre del archivo XML de definición de acciones.Actions
awe.application.files.servicesNombre del archivo XML de definición de servicios.Services
awe.application.files.localeNombre del archivo XML de definición de locales.Locale-
awe.application.files.enumeratedNombre del archivo XML de definición de enumerados.Enumerated
awe.application.files.queryNombre del archivo XML de definición de consultas.Queries
awe.application.files.queueNombre del archivo XML de definición de colas.Queues
awe.application.files.maintainNombre del archivo XML de definición de mantenimientos.Maintain
awe.application.files.componentsNombre del archivo XML de definición de componentes.Components
awe.application.files.templatesNombre del archivo XML de definición de plantillas.Templates
awe.application.files.emailNombre del archivo XML de definición de correos electrónicos.Email
awe.application.files.menu-publicNombre del archivo XML de definición del menú público.public
awe.application.files.menu-privateNombre del archivo XML de definición del menú privado.private
awe.application.paths.baseRuta base de la aplicación./ ruta raíz
awe.application.paths.applicationRuta de la carpeta de la aplicación./application/
awe.application.paths.globalRuta de la carpeta global./global/
awe.application.paths.localeRuta de la carpeta de locales./locale/
awe.application.paths.screenRuta de la carpeta de pantallas./screen/
awe.application.paths.profileRuta de la carpeta de perfiles./profile/
awe.application.paths.menuRuta de la carpeta de menús./menu/
awe.application.paths.templatesRuta de la carpeta de plantillas.templates/
awe.application.paths.templates-angularRuta de la carpeta de plantillas de Angular.angular
awe.application.paths.tagRuta de la carpeta de etiquetas.tags/
awe.application.paths.tag-angularRuta de la carpeta de etiquetas de Angular.tags/angular/
awe.application.paths.serverRuta del servidor. Se utiliza para establecer la URL inicial.
awe.application.paths.imagesRuta de la carpeta de imágenes.images/
awe.application.paths.reportsRuta de la carpeta de destino de los informes.@reports (@ es una ruta relativa a la propiedad awe.application.paths.base)
awe.application.paths.reports-historicRuta de la carpeta de destino del histórico de informes.@historicReports/ (@ es una ruta relativa a la propiedad awe.application.paths.base)
awe.application.paths.documentsRuta de la carpeta de documentos.static/docs/
awe.application.paths.jrxRuta de la carpeta de jrx de Jasper./jrx/
awe.application.paths.tempRuta de la carpeta temporal.${java.io.tmpdir:/tmp}
awe.application.paths.icon-faviconRuta del icono favicon. Usa application.paths.images como ruta padre./images/icon/favicon-awe.ico
awe.application.paths.icon-phoneRuta del icono de Apple de 57x57. Usa application.paths.images como ruta padre./images/icon/favicon-awe.ico
awe.application.paths.image-startup-logoObsoleta para la página de inicio de sesión: use awe.application.login.logo en su lugar; un valor distinto del valor por defecto solo se usa cuando awe.application.login.logo está vacía. En AngularJS sigue dando estilo a las pantallas de cambio de contraseña y de 2FA. Logotipo de la pantalla de inicio de sesión. El valor se inyecta directamente en el url(...) de CSS, por lo que debe ser una URL que el navegador pueda resolver. Los valores relativos normalmente deberían mantener la forma por defecto ../images/...; los valores absolutos /..., http(s)://..., data:... y file://... se pasan sin modificar. Una URI file:// la resuelve el navegador del cliente, no el servidor de AWE. Para usar una imagen de un sistema de archivos montado en el despliegue de AWE, exponga únicamente una carpeta pública de recursos HTTP estáticos y configure esta propiedad con esa ruta HTTP.../images/logo/logo-awe-nuevo.svg
awe.application.paths.image-navbar-logoLogotipo de la barra de navegación (AngularJS). Con el símbolo AWE por defecto el tema dibuja la palabra AWE a su lado; otro logotipo se muestra solo. Sigue las mismas reglas de resolución que awe.application.paths.image-startup-logo.../images/logo/awe-logo-mark.svg
awe.application.paths.image-startup-backgroundObsoleta para la página de inicio de sesión: use awe.application.login.background en su lugar; un valor distinto del valor por defecto solo se usa cuando awe.application.login.background está vacía. En AngularJS sigue dando estilo a las pantallas de cambio de contraseña y de 2FA. Imagen de fondo de la pantalla de inicio de sesión. Sigue las mismas reglas de resolución que awe.application.paths.image-startup-logo.../images/background/signin-bg-1.jpg
awe.application.parameter.usernameValor del parámetro de nombre de usuario de la pantalla.cod_usr
awe.application.parameter.passwordValor del parámetro de contraseña de la pantalla.pwd_usr
awe.application.parameter.tokenNombre del parámetro de token.t
awe.application.screen.homeNombre de la pantalla de inicio.home
awe.application.screen.change-passwordNombre de la pantalla de cambio de contraseña.change_password
awe.application.screen.initialNombre de la pantalla inicial por defecto.information
awe.application.component.sizeTamaño de los componentes.md (mediano)
awe.application.component.data-suffixSufijo del parámetro de datos enviado desde el cliente..data
awe.application.component.grid-rows-per-pageFilas por página en el componente de cuadrícula (establézcalo en 0 para evitar la paginación).30
awe.application.component.grid-columns-panelCómo muestra la barra de herramientas las columnas de los grids que no definen columns-panel: popover (anclado al botón de columnas), dialog (un diálogo modal) o side-panel (un panel anclado al borde derecho de la pantalla).popover
awe.application.component.grid-icon-loadingIndicador de carga por defecto de los grids que no definen icon-loading. skeleton muestra filas de relleno con las columnas del grid en cada carga; skeleton-dim las muestra en la primera carga y atenúa las filas en una recarga; spinner (u otro valor de icon-loading) recupera el indicador anterior.skeleton
awe.application.component.grid-pixels-per-characterPíxeles por carácter en las cuadrículas.8
awe.application.component.criteria-rows-per-pageFilas por página en el componente de criterio (establézcalo en 0 para evitar la paginación).100
awe.application.component.computed-empty-if-nullVacía los valores calculados si alguno de los comodines está vacío.true
awe.application.component.suggest-timeoutTiempo de espera del componente de sugerencia en milisegundos.300ms Duration
awe.application.component.help-timeoutTiempo de espera de la ayuda de componentes en milisegundos.1000ms Duration
awe.application.component.upload-file-idId del componente de carga de archivos.u
awe.application.component.upload-file-pathRuta para la subida de archivos (relativa a application.base.path si empieza por @).@upload/ (@ es una ruta relativa a la propiedad awe.application.paths.base)
awe.application.component.upload-max-file-sizeTamaño máximo de los archivos subidos (en MB).100MB DataSize
awe.application.component.upload-max-files-folderNúmero máximo de elementos por carpeta. Se utiliza para crear la carpeta temporal donde se guardan los archivos subidos.100
awe.application.component.download-file-idId del componente de descarga de archivos.d
awe.application.component.pivot-num-groupLímite del número de elementos de grupo del componente de tabla dinámica.5000
awe.application.component.chart-limit-point-serieLímite de puntos de las series en el componente de gráfico.1000000
awe.application.component.tooltip.ok-timeoutTiempo de espera de los mensajes ok (en milisegundos).2000ms Duration
awe.application.component.tooltip.error-timeoutTiempo de espera de los mensajes de error (en milisegundos).0ms Duration
awe.application.component.tooltip.warning-timeoutTiempo de espera de los mensajes de advertencia (en milisegundos).4000ms Duration
awe.application.component.tooltip.info-timeoutTiempo de espera de los mensajes de información (en milisegundos).0ms Duration
awe.application.component.tooltip.validate-timeoutTiempo de espera de los mensajes de validación (en milisegundos).2000ms Duration
awe.application.component.tooltip.help-timeoutTiempo de espera de los mensajes de ayuda (en milisegundos).5000ms Duration
awe.application.component.tooltip.chat-timeoutTiempo de espera de los mensajes de chat (en milisegundos).0ms Duration
awe.application.component.tooltip.wrong-timeoutTiempo de espera de los mensajes incorrectos (en milisegundos).0ms Duration
awe.application.jms.enabledHabilita el conector de servicios JMS de AWE.false
awe.application.jms.service-timeoutTiempo de espera del servicio JMS en milisegundos.10000ms Duration
awe.application.jms.message-time-to-liveTiempo de vida del mensaje JMS en milisegundos. Valor por defecto 0ms (el mensaje permanece en la cola indefinidamente hasta que se procesa)0ms Duration
awe.application.file-manager.base-pathRuta base del gestor de archivos./ (ruta raíz)
awe.application.file-manager.date-formatFormato de fecha del gestor de archivos.yyyy-MM-dd hh:mm:ss
awe.application.task.pool.sizeTamaño del pool del ejecutor de tareas.20
awe.application.task.pool.max-sizeNúmero máximo de elementos del pool del ejecutor de tareas.50
awe.application.task.pool.queue-sizeTamaño de la cola del ejecutor de tareas.1000
awe.application.task.pool.await-terminationEspera de finalización del ejecutor de tareas en segundos.120s Duration
awe.application.task.pool.thread-prefixPrefijo de los hilos del pool ejecutor de AWE.AweThread-
awe.application.task.pool.help-thread-prefixPrefijo de los hilos del pool ejecutor de ayuda de AWE.AweHelpThread-
awe.application.task.pool.contextless-thread-prefixPrefijo de los hilos del pool ejecutor sin contexto de AWE.AweInitThread-

Propiedades de base de datos de AWE​

Estas son las propiedades de configuración de base de datos para los proyectos AWE. Tienen el prefijo awe.database.

NombreDescripciónValor predeterminado
awe.database.enabledHabilita la carga de beans de base de datos de awe.true
awe.database.parameter-nameNombre del criterio de base de datos. Configura el parámetro de base de datos para obtener el valor del contexto de la pantalla._database_
awe.database.limit-log-sizeLimita el tamaño del log cuando se imprime una consulta (0 para deshabilitar).0
awe.database.log-masked-fieldsColumnas cuyos valores se enmascaran ('********') en el SQL que se escribe en el log y en los errores de consulta (sin distinguir mayúsculas). Los valores de las variables STRING_HASH_* y STRING_ENCRYPT se enmascaran siempre.l1_pas
awe.database.multidatabase-enableHabilita el modo multibase de datos. Habilita un datasource personalizado para permitir conexiones a varias bases de datos.false
awe.database.migration-modulesLista de módulos separados por comas que flyway debe migrar.AWE
awe.database.migration-prefixNombre del patrón de prefijo de los scripts de migración. Valor por defecto [Module]_V (Ej: AWE_V)%s_V
awe.database.migration-repeatable-prefixNombre del patrón de prefijo de los scripts de migración repetibles. Valor por defecto [Module]_R (Ej: AWE_R)%s_R
awe.database.audit-enableHabilita las operaciones de auditoría en el motor de base de datos de AWE.true
awe.database.audit-dateNombre de la columna de fecha en las tablas de auditoría.HISdat
awe.database.audit-userNombre de la columna de usuario en las tablas de auditoría.HISope
awe.database.audit-actionNombre de la columna de acción en las tablas de auditoría.HISact
awe.database.audit-lagDesfase de auditoría en milisegundos. Se utiliza para construir una marca de tiempo en el proceso de auditoría.100ms Duration
awe.database.batch-maxTamaño de bloque (chunk) para las operaciones por lotes.100

Propiedades de mantenimiento de AWE​

Estas son las propiedades de configuración de mantenimiento para los proyectos AWE. Tienen el prefijo awe.maintain. El modo de validación de mantenimientos múltiples solo se aplica a los destinos de mantenimiento múltiple respaldados por SQL; los mantenimientos delegados a servicios (serve), de colas y de correo electrónico no se ven afectados. La frontera de transacción de cada mantenimiento se describe en Transacciones.

NombreDescripciónValor predeterminado
awe.maintain.multiple.validation-modeComportamiento de validación cuando un mantenimiento múltiple no tiene declarada ninguna variable de lista que no sea de auditoría. strict lanza un error, protegiendo los nuevos desarrollos. warn registra una advertencia con el id de la operación y omite la operación, conservando durante la migración la semántica sin efecto anterior a la 4.12.1.strict
awe.maintain.transaction.enabledEjecuta cada mantenimiento dentro de una transacción de su DataSource. Los mantenimientos anidados y los pasos retrieve-data sobre el mismo DataSource se unen a ella, y cualquier fallo o resultado ERROR deshace el mantenimiento completo. Desactívela para mantener el comportamiento anterior: cada mantenimiento confirma su propia conexión de forma independiente.true

Propiedades de seguridad de AWE​

Estas son todas las propiedades de configuración de seguridad para los proyectos AWE. Tienen el prefijo awe.security.

NombreDescripciónValor predeterminado
awe.security.master-keyClave maestra que cifra los datos almacenados (parámetros y propiedades cifrados). Obligatoria: no tiene valor por defecto. Las aplicaciones actualizadas desde AWE 4 que nunca la definieron deben definir el antiguo valor por defecto para seguir descifrando sus datos (consulte la guía de migración a AWE 5) y rotarla después.Ninguno (obligatoria)
awe.security.auth-modeModo de autenticación.bbdd BBDD (Database)
awe.security.auth-custom-providersProveedores de clases de autenticación personalizadas. Se utilizan para implementar su propio proveedor de autenticación.
awe.security.json-encrypt-enableHabilita la codificación json con BASE64 entre cliente y servidor.false
awe.security.json-parameterNombre de la lista de parámetros cifrados.p
awe.security.default-restrictionConjunto de restricciones por defecto (el valor por defecto debería ser el más restrictivo).general
awe.security.role-prefixPrefijo de rol para construir los permisos de usuario en Spring Security.ROLE_
awe.security.xstream-allow-pathsRutas permitidas para el serializador xstream.java.*", "com.almis.awe.model.entities.**_
awe.security.password-patternPatrón regex de la contraseña. Se utiliza en el campo de validación de criterios..*
awe.security.password-min-lengthLongitud mínima de la contraseña. Se utiliza en el campo de validación de criterios.4
awe.security.password-encoderAlgoritmo del hash de las contraseñas nuevas: bcrypt o ripemd160. Los hashes almacenados de cualquier algoritmo se siguen validando y, con bcrypt, los hashes RIPEMD-160 heredados se vuelven a hashear en el siguiente inicio de sesión correcto. Defina ripemd160 solo cuando el XML propio de la aplicación o sistemas externos comparen el hash almacenado (ope.l1_pas) y todavía no se puedan adaptar. Consulte la guía de migración a AWE 5.bcrypt
awe.security.same-origin-enableHabilita el mismo origen en las cabeceras http. Evita las peticiones de frames entre dominios.true
awe.security.allowed-origin-patternsLista de rutas de origen permitidas separadas por comas.*
awe.security.ldap.user-filterNombre de la propiedad de inicio de sesión del usuario Ldap. En entornos WINDOWS sAMAccountName={0}. En entornos UNIX uid={0}sAMAccountName={0}
awe.security.ldap.urlURL del servidor Ldap. Establezca los valores de los servidores separados por comas cuando necesite configurar más de uno.ldap://localhost:389
awe.security.ldap.base-dnDominio base Ldap para la búsqueda. Valor por defecto vacío (Root Dn).
awe.security.ldap.user-bindPatrón de búsqueda del enlace (bind) del usuario Ldap.
awe.security.ldap.password-bindContraseña de enlace (bind) de Ldap.
awe.security.ldap.connect-timeoutTiempo de espera de conexión Ldap en milisegundos. Establece la propiedad de entorno com.sun.jndi.ldap.connect.timeout.5000ms Duration
awe.security.ldap.read-timeoutTiempo de espera de lectura Ldap en milisegundos. Establece la propiedad de entorno com.sun.jndi.ldap.read.timeout.5000ms Duration
awe.security.totp.enabledDeshabilitar, habilitar o forzar el TOTP.disabled
awe.security.totp.initial-screenPantalla inicial para comprobar el TOTP.check-2fa
awe.security.totp.activate-screenPantalla inicial para forzar la activación del TOTP.activate-2fa
awe.security.sso-enabledIndicador para habilitar el flujo de inicio de sesión sso. Puede usar un servidor de autorización como KeyCloak u Oktafalse
awe.security.sso.auto-provision-useIndicador para habilitar el aprovisionamiento automático de usuarios en el proceso de autenticación oauth2. Crea un nuevo registro en la tabla ope con el usuariotrue
awe.security.sso.user-name-attributeNombre del atributo que se obtiene de la información del token oauth2 en el proceso de aprovisionamiento de usuarios.preferred_username
awe.security.sso.auto-launchCuando Auto Launch está habilitado, la página de inicio de sesión redirige automáticamente al usuario a la URL de autorización de OAuth para iniciar sesión con OAuthfalse
awe.security.sso.filter-authority-prefixSe utiliza para filtrar las autoridades concedidas en el proceso posterior a la autenticación.
awe.security.sso.overwrite-profile-with-default-roleCuando es false, el perfil de un usuario existente se mantiene tal cual si el claim del proveedor SSO no incluye ningún rol. Establézcalo en true para sobrescribirlo con el rol por defecto de la aplicación, como en las versiones anteriores a la 4.12.9.false
awe.security.sso.multitenant.enabledHabilita el sso multi-tenant.false
awe.security.sso.multitenant.default-tenantEstablece el nombre del tenant por defecto cuando multi-tenant está habilitado.default
awe.security.sso.enable-azure-buttonHabilita el botón de Azure EntraId en la pantalla de inicio de sesión.false
awe.security.sso.enable-google-buttonHabilita el botón de iniciar sesión con Google en la pantalla de inicio de sesión.false
awe.security.sso.enable-generic-sso-buttonHabilita el botón de iniciar sesión con SSO en la pantalla de inicio de sesión.false
awe.security.audit.enabledRegistra los eventos de seguridad (inicios y cierres de sesión, bloqueos, cambios de contraseña y de segundo factor, accesos denegados y tokens REST). Si se desactiva, ningún destino registra eventos y no se purga nada. Consulte Auditoría de seguridad.true
awe.security.audit.anonymize-ipAnonimiza la dirección del cliente de cada evento: pone a cero el último octeto de las direcciones IPv4 y todo lo que sigue a los primeros 48 bits de las direcciones IPv6.false
awe.security.audit.database.enabledGuarda los eventos en la tabla AweSecAudEvt.true
awe.security.audit.database.retention-daysDías que se conserva un evento en la tabla AweSecAudEvt antes de que la purga lo borre. 0 conserva los eventos para siempre.365
awe.security.audit.database.purge-cronExpresión cron (formato de Spring, zona horaria del servidor) de la purga de los eventos caducados.0 0 3 * * *
awe.security.audit.log.enabledEscribe cada evento como una línea JSON en el logger awe.security.audit (nivel INFO), para enviarlo a un SIEM.true
awe.security.audit.metrics.enabledCuenta los eventos en el contador de Micrometer awe.security.audit.events (etiquetas type, outcome, channel y cause). Solo se aplica con el starter de observabilidad.true
awe.security.lockout.max-attemptsInicios de sesión locales fallidos consecutivos (contraseña incorrecta) tras los que se bloquea la cuenta. Un inicio de sesión correcto reinicia la cuenta de fallos, y un administrador desbloquea la cuenta desde la pantalla de usuarios. 0 desactiva el bloqueo automático.0

Propiedades numéricas de AWE​

Estas son las propiedades de configuración numérica para los proyectos AWE. Tienen el prefijo awe.numeric.

NombreDescripciónValor predeterminado
awe.numeric.formatSeparador de formato numérico para la entrada numérica. Valor por defecto NumericFormatType.EUR (eur). Formato numérico europeo ('.' como carácter de millares y ',' como carácter decimal).eur
awe.numeric.round-typeTipo de redondeo para las operaciones numéricas. Valor por defecto Half Up Symmetric (S). Véase RoundTypes para más información.S RoundingType.HALF_UP_SYMMETRIC
awe.numeric.pattern-formattedFormato numérico para el valor del patrón del campo.###,###.####
awe.numeric.pattern-unformattedFormato numérico para el valor del patrón del campo (sin formato, sin separadores de millares).######.####
awe.numeric.min-valueValor mínimo del componente numérico.-9999999999.99
awe.numeric.max-valueValor máximo del componente numérico.9999999999.99
awe.numeric.padding-with-zerosRelleno con ceros para completar el formato del número en el componente numérico.false
awe.numeric.decimal-numbersNúmero de decimales del componente numérico.5
awe.numeric.separator-thousandSeparador de millares del componente numérico. Valor por defecto: carácter de millares de NumericFormatType (awe.numeric.format).
awe.numeric.separator-decimalSeparador decimal del componente numérico. Valor por defecto: carácter decimal de NumericFormatType (awe.numeric.format),
awe.numeric.group-decimalControla la agrupación de dígitos: la colocación del separador de millares del componente numérico.3
awe.numeric.currency-signSímbolo de moneda deseado para el componente numérico. cadena vacía
awe.numeric.currency-placeControla la colocación del símbolo de moneda del componente numérico. Valor por defecto s (sufijo a la derecha). Use p para el prefijo a la izquierda.s
awe.numeric.empty-valueControla el comportamiento de visualización de la entrada del componente numérico.empty

Propiedades de sesión de AWE​

Estas son las propiedades de configuración de sesión para los proyectos AWE. Tienen el prefijo awe.session.

NameDescripciónValor por defecto
awe.session.parameterMapa de parámetros inyectados en la sesión cuando arranca el contexto de la aplicación. Ej: awe.session.parameter.par1=QueryNameawe.session.parameter.module=ModNamByOpeSel awe.session.parameter.site=SitNamByOpeSel awe.session.parameter.database=DbsAlsBySitModSel

Propiedades de correo electrónico de AWE​

Estas son las propiedades de configuración del motor de correo electrónico para los proyectos AWE. Tienen el prefijo awe.mail.

NombreDescripciónValor predeterminado
awe.mail.enabledIndicador para habilitar las funcionalidades de correo electrónico de awe. El valor por defecto es false.false
awe.mail.hostHost del servidor de correo electrónico.
awe.mail.portPuerto del servidor de correo electrónico.25
awe.mail.authAutenticación de correo electrónico. Indicador para especificar si se necesita autenticación.false
awe.mail.userNombre de usuario de autenticación del servidor de correo electrónico.
awe.mail.passContraseña de autenticación del servidor de correo electrónico.
awe.mail.debugEjecuta el correo electrónico en modo depuración. El valor por defecto es false.false
awe.mail.sslIndicador para especificar el uso del protocolo SSL.false
awe.mail.tlsIndicador para especificar el uso del protocolo TLS.false
awe.mail.localhostNombre del servidor smtp local.localhost

Propiedades de Developer de AWE​

Estas son las propiedades de configuración del módulo Developer para los proyectos AWE. Tienen el prefijo awe.developer.

NombreDescripciónValor predeterminado
awe.developer.pathRuta de Developer. Se utiliza para gestionar los archivos de locales.${user.home}/awe-developer
awe.developer.path-fileNombre del archivo de rutas.path.properties
awe.developer.path-propertyNombre de la propiedad de ruta.path.project
awe.developer.translation-serviceServicio de traducción.my_memory
awe.developer.translation.mymemory.keyClave de API de MyMemory.10ecdc1ed89ac3ebed3b
awe.developer.translation.mymemory.hostHost del servicio de traducción de MyMemory.api.mymemory.translated.net
awe.developer.translation.mymemory.emailCorreo electrónico de referencia del servicio de traducción.awe@almis.com
awe.developer.translation.rapidapi.keyClave de API de RapidAPI.f20790a0d6msh98d1dad8f0e3da9p10eb19jsn671d6cab2ec5
awe.developer.translation.rapidapi.hostHost del servicio de traducción de RapidAPI.translated-mymemory---translation-memory.p.rapidapi.com
awe.developer.translation.rapidapi.emailCorreo electrónico de referencia del servicio de traducción.awe@almis.com

Propiedades Rest de AWE​

Estas son las propiedades de configuración del conector REST y del conector de microservicios para los proyectos AWE. Tienen el prefijo awe.rest.

NombreDescripciónValor predeterminado
awe.rest.client-enabledHabilita la aplicación AWE como cliente Eureka.false
awe.rest.connection-timeoutTiempo de espera de conexión Rest en milisegundos.5s Duration
awe.rest.connection-request-timeoutTiempo de espera de la petición de conexión en milisegundos.5s Duration
awe.rest.response-timeoutTiempo de espera de la respuesta en milisegundos.5s Duration
awe.rest.servicesMapa con la información de los servicios Rest utilizados por el microservicio de AWE y el conector REST. Véanse estos ejemplos
awe.rest.api.doc-titleTítulo de la información de Open API.AWE Rest API
awe.rest.api.doc-descriptionDescripción de la información de Open API.Rest API to access AWE services
awe.rest.api.doc-versionVersión de la información de Open API.v1.0.0
awe.rest.api.doc-contact-nameNombre del contacto de Open API.
awe.rest.api.doc-contact-urlURL del contacto de Open API.
awe.rest.api.doc-contact-emailCorreo electrónico del contacto de Open API.
awe.rest.api.doc-license-nameNombre de la licencia de Open API.Apache 2.0
awe.rest.api.doc-license-urlURL de la licencia de Open API.https://www.apache.org/licenses/LICENSE-2.0.html
awe.rest.api.doc-terms-of-service-urlURL de los términos de servicio de Open API.
awe.rest.api.doc-external-descriptionDescripción de la documentación externa de Open API.
awe.rest.api.doc-external-urlURL de la documentación externa de Open API.
awe.rest.api.jwt.authorization-headerNombre de la cabecera de autenticación del módulo Rest de AWEAuthorization
awe.rest.api.jwt.prefixPrefijo del token JWT.Bearer
awe.rest.api.jwt.secretContraseña secreta JWT para firmar el token.Valor de awe.security.master.key si está definida; si no, awe.security.master-key
awe.rest.api.jwt.issuerNombre del emisor JWT.AWE ISSUER
awe.rest.api.jwt.expiration-timeTiempo de validez del token JWT hasta que expira, en minutos.60m Duration
awe.rest.api.auth.modeModo de autenticación REST. Use local-jwt para JWT emitidos por AWE u oauth2-resource-server para tokens de acceso OAuth2/OIDC emitidos externamente.local-jwt
awe.rest.api.oauth2-resource-server.jwt.issuer-uriURI del emisor del proveedor utilizada para descubrir los metadatos y validar el claim iss del token de acceso. Obligatoria en el modo OAuth2 salvo que se configure jwk-set-uri.
awe.rest.api.oauth2-resource-server.jwt.jwk-set-uriURI del JWK Set opcional que sobrescribe la anterior. Úsela cuando el descubrimiento del emisor no esté disponible. Obligatoria en el modo OAuth2 salvo que se configure issuer-uri.
awe.rest.api.oauth2-resource-server.jwt.audiencesLista obligatoria de audiencias aceptadas del token de acceso. Los valores deben coincidir exactamente con el claim aud del token.
awe.rest.api.oauth2-resource-server.principal.delegated-username-claimsNombres de claims ordenados utilizados para construir el nombre de usuario de los tokens de usuario delegados.preferred_username, upn, email, oid
awe.rest.api.oauth2-resource-server.principal.delegated-display-name-claimsNombres de claims ordenados utilizados para construir el nombre visible de los tokens de usuario delegados.name, preferred_username, email
awe.rest.api.oauth2-resource-server.principal.delegated-email-claimsNombres de claims ordenados utilizados para construir el correo electrónico de los tokens de usuario delegados.email, upn, preferred_username
awe.rest.api.oauth2-resource-server.principal.client-id-claimsNombres de claims ordenados utilizados para identificar los tokens de cliente o aplicación.azp, appid, client_id, clientId, sub
awe.rest.api.oauth2-resource-server.principal.client-display-name-claimsNombres de claims ordenados utilizados para construir el nombre visible de los tokens de cliente o aplicación.app_displayname, azp, appid, client_id, clientId
awe.rest.api.oauth2-resource-server.principal.client-principal-prefixPrefijo añadido a los nombres de usuario sintéticos de los principales de cliente o aplicación.client:
awe.rest.api.oauth2-resource-server.principal.profile-claimNombre de claim opcional utilizado para asignar el perfil de AWE.
awe.rest.api.oauth2-resource-server.principal.default-profilePerfil de AWE alternativo opcional cuando profile-claim no existe o está vacío.
awe.rest.api.openapi.oauth2.authorization-urlEndpoint de autorización OAuth2 utilizado por el flujo Authorization Code de Swagger UI.
awe.rest.api.openapi.oauth2.token-urlEndpoint de token OAuth2 utilizado por Swagger UI para intercambiar el código de autorización.
awe.rest.api.openapi.oauth2.scopesScopes OAuth2 mostrados en Swagger UI. En .properties, encierre las claves de scope complejas entre corchetes y escape :, por ejemplo scopes.[api\://<api-client-id>/access].
awe.rest.api.openapi.oauth2.client-idId de cliente OAuth2 público de Swagger UI. No use un client secret en Swagger UI basado en navegador.
awe.rest.api.openapi.oauth2.use-pkceHabilita PKCE para el flujo Authorization Code. Recomendado para Swagger UI y clientes SPA.true

Ejemplos de definiciones de servicios Rest​

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

Propiedades del planificador de AWE​

Estas son las propiedades de configuración del módulo Scheduler para los proyectos AWE. Tienen el prefijo awe.scheduler.

NameDescripciónValor por defecto
awe.scheduler.tasks-load-on-startIndicador para cargar las tareas al arrancar la aplicación.true
awe.scheduler.stored-executionsNúmero de ejecuciones a almacenar en el log.5
awe.scheduler.report-email-from-valueCorreo electrónico de los informes del planificador.scheduler@almis.com
awe.scheduler.execution-log-pathRuta del log de ejecución del planificador.${logging.file.path:${java.io.tmpdir}}/scheduler
awe.scheduler.execution-log-patternPatrón del log de ejecución del planificador.%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p : %m%n%wEx
awe.scheduler.execution-log-storeAlmacén del log de ejecución: file o database. Véase Log de ejecución del planificador.file
awe.scheduler.execution-log-max-linesAlmacén en base de datos: número máximo de líneas de log conservadas por ejecución (tamaño de la ventana del visor).1000
awe.scheduler.execution-log-max-line-lengthAlmacén en base de datos: número máximo de caracteres conservados por línea de log.1000
awe.scheduler.execution-log-queue-capacityAlmacén en base de datos: capacidad del búfer de líneas de log pendientes.10000
awe.scheduler.execution-log-batch-sizeAlmacén en base de datos: líneas escritas en la base de datos por lote.200
awe.scheduler.execution-log-flush-intervalAlmacén en base de datos: frecuencia con la que se escriben las líneas pendientes.2s Duration
awe.scheduler.task-timeoutTiempo de espera por defecto de las tareas del planificador, en segundos.1800s Duration
awe.scheduler.remote-enabledHabilita el uso del planificador remoto.false
awe.scheduler.remote-scheduler-urlURL base del planificador remoto.http://localhost:8000/scheduler/api/v1
awe.scheduler.scheduler-instanceMarca la instancia como nodo exclusivo del planificador.false
awe.scheduler.remote-callback-urlURL base de callback del planificador remoto.
awe.scheduler.remote-callback-secure-enabledExigir autenticación en las peticiones de callback.true
awe.scheduler.remote-callback-userNombre de usuario del callback remoto.
awe.scheduler.remote-callback-passwordContraseña del callback remoto.
awe.scheduler.execution-log-callback-captureCaptura las trazas de las tareas remotas en el log de ejecución. Véase Trazas de ejecución remota.true
awe.scheduler.task-pool.sizeTamaño del pool de tareas programadas.20
awe.scheduler.task-pool.max-sizeTamaño máximo del pool de tareas del planificador.50
awe.scheduler.task-pool.queue-sizeCapacidad de la cola del pool de tareas del planificador.1000
awe.scheduler.task-pool.terminationFinalización del pool de tareas del planificador.120s Duration

Valor de la propiedad de codificación​

Hay una forma de almacenar propiedades codificadas (como contraseñas) en un archivo de propiedades. Debe desplegar la aplicación y entrar en Settings -> Security access -> Encrypt util, rellenar el criterio de texto con la contraseña y pulsar el botón Encrypt. El campo Encrypted property 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==)

ℹ️ La clave maestra utilizada para codificar las propiedades es la propiedad awe.security.master-key, que es obligatoria y no tiene valor por defecto: defínala en su propio archivo application.properties o en el entorno.


⚠️ El campo Phrase key de la pantalla Encrypt util permite generar las propiedades codificadas con otras contraseñas, pero no olvide que las propiedades codificadas con una frase clave y la awe.security.master-key deben coincidir para poder decodificarse correctamente.


Propiedades Websocket de AWE​

Estas son las propiedades de configuración de Websocket STOMP para los proyectos AWE. Tienen el prefijo awe.websocket.stomp.

NameDescripciónValor por defecto
awe.websocket.stomp.enable-stomp-broker-relayHabilita el relay de broker STOMP en lugar del broker simple. Cuando está habilitado, los mensajes se retransmiten a un broker de mensajes STOMP externo.false
awe.websocket.stomp.relay-hostHost del relay del broker STOMP. El host al que conectarse para el relay del broker STOMP.localhost
awe.websocket.stomp.relay-portPuerto del relay del broker STOMP. El puerto al que conectarse para el relay del broker STOMP.61613
awe.websocket.stomp.virtual-hostHost virtual del broker STOMP, utilizado para segregar aplicaciones que comparten el mismo broker. Cuando no se establece, el broker aplica su propio valor por defecto (el host del relay).
awe.websocket.stomp.client-loginLogin de cliente del broker STOMP. El login a usar al crear una conexión de cliente con el broker STOMP.
awe.websocket.stomp.client-passscodeContraseña de cliente del broker STOMP. El passcode a usar al crear una conexión de cliente con el broker STOMP.
awe.websocket.stomp.system-loginLogin de sistema del broker STOMP. El login a usar al crear una conexión de sistema con el broker STOMP.
awe.websocket.stomp.system-passscodeContraseña de sistema del broker STOMP. El passcode a usar al crear una conexión de sistema con el broker STOMP.
awe.websocket.stomp.destination-prefixesPrefijos de destino del broker de mensajes. Los prefijos que gestiona el broker de mensajes.[/topic, /queue]

Propiedades de observabilidad de AWE​

Estas son las propiedades de configuración del starter de observabilidad (awe-observability-spring-boot-starter), que añade comprobaciones de salud, métricas y trazas. Tienen el prefijo awe.observability. Véase la guía de observabilidad.

NameDescripciónValor por defecto
awe.observability.enabledHabilita el starter de observabilidad (comprobaciones de salud, métricas y trazas). Póngala a false para desactivar todo lo que aporta sin quitar la dependencia.true
awe.observability.health-timeoutTiempo máximo que una comprobación de salud espera la respuesta de una conexión de base de datos o de cola antes de informar del conector como caído.2s Duration
awe.observability.max-tag-valuesNúmero máximo de valores distintos de las etiquetas id y screen de cada métrica de AWE. Los valores que lo superan se informan como other, así un identificador falsificado o inesperado nunca añade series.1000
awe.observability.usage.exports.enabledCuenta y mide el tiempo de las impresiones y exportaciones de las pantallas (temporizador awe.export, etiquetado por pantalla y formato).true
awe.observability.usage.files.enabledCuenta los ficheros subidos y descargados y suma sus bytes (resumen awe.files, etiquetado por dirección).true
awe.observability.usage.screens.enabledCuenta y mide el tiempo de las pantallas construidas para una opción de menú (temporizador awe.screen, etiquetado por opción y pantalla).true
awe.observability.usage.users.enabledPublica los usuarios conectados y las conexiones abiertas en este momento (indicadores awe.users.connected y awe.connections.active, por instancia).true

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 Environment:

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 .