ver significa saber reloj que puedo puede publicar publicaciones porque perfil para eliminaron desbloquearme cuenta concretos como bloqueo bloquearon bloquea amigos amigo alguien java spring spring-profiles negation

java - significa - Incluyendo la definición de bean cuando un perfil NO está activo



que significa el reloj en facebook (1)

En mi aplicación uso varios profiles para hacer que ciertos granos sean elegibles para el autoenvío. Lo que me falta es la posibilidad de hacer que un frijol sea elegible para el autoenvío cuando un cierto perfil NO está activo.

La mejor forma de hacerlo que pensé es la siguiente:

  1. Supongamos que tenemos una lista de todos los perfiles posibles, por ejemplo, {A, B, C, D}.
  2. Los perfiles activos para una ejecución particular son {A, C}.
  3. Lo que hago es crear perfiles artificiales para todos los perfiles posibles que no están activos. En el caso de ejemplo, crearía perfiles {not_B, not_D}.
  4. Los beans que quiero que estén activos se basan en el perfil X no activo. Activo para el perfil not_X . En mi caso, si quería que un frijol fuera elegible para el autoenvío cuando el perfil B no está activo, les @Profile("not_B")

Sin embargo, esta solución requiere un conocimiento inicial sobre todos los perfiles posibles.

¿Puedes pensar en alguna solución mejor?


Puede usar un operador no (!) ... pero debe usar Spring 3.2 M1.

La siguiente sintaxis ahora es compatible

<beans profile="A,!B"> @Profile("A", "!B")

indicando que el elemento o componente anotado debe procesarse solo si el perfil ''A'' está activo o si el perfil ''B'' no está activo.

Ver cambio anunciado aquí: Spring Framework 3.2 M1 lanzado
La confirmación está en GitHub: Operador de soporte no (!) Para selección de perfil
Problema en JIRA: SPR-8728

Si la actualización a Spring 3.2 no es posible para su proyecto, recomendaría no utilizar el enfoque @Profile y asegurar que el bean no se cree en su configuración de Spring.