Estoy trabajando en una aplicación web Spring 3.0.5 que accede a LDAP y dos bases de datos. Tengo propiedades con información de configuración para el servidor LDAP y las bases de datos, en applicationContext-security.xml
y dispatcher-servlet.xml
, pero me gustaría hacerlo para que cada servidor pueda tener diferentes propiedades de datos sin cambiar un archivo en WAR. ¿Puedo de alguna manera poner un archivo en otro lugar en el servidor y aún acceder desde mi aplicación?Trabajando con archivos de propiedades fuera de la guerra con Spring
6
A
Respuesta
6
Agregar a su contexto
<context:property-placeholder location="${envfile}"/>
Esto cargará el archivo de propiedades ubicadas en $ {envfile}, una variable se puede establecer con parámetro de inicio de Java como éste
-Denvfile="file:/var/server/environment.properties"
O tal vez en la secuencia de comandos de inicio de Tomcat
CATALINA_OPTS=" -Denvfile=file:/var/server/environment.properties"
Los valores pueden ser recuperados en sus controladores usando los resortes Valor anotación de la siguiente manera:
@Values("${myvalue}")
private String myValue;
Tenga en cuenta que estas funciones requieren Primavera 3.1, más información here
Buena suerte!
0
Trate
<util:properties id="props" location="file:///path/to/server.properties"/>
Cuestiones relacionadas
- 1. Cargando Log4j.xml desde fuera de la guerra
- 2. Archivos de propiedades múltiples en Spring 3.0
- 3. Cifrar archivos de guerra
- 4. Java: Acceso al archivo de propiedades dentro de una guerra
- 5. Trabajando con archivos utf-8 en Eclipse
- 6. PDFBox: trabajando con archivos PDF muy grandes.
- 7. Sirviendo archivos estáticos con anillo/compojure - de una guerra
- 8. Trabajando con archivos ePub en android
- 9. ¿Accediendo a archivos de propiedades fuera de .jar?
- 10. Trabajando con rutas de archivos relativas en .Net
- 11. Trabajando con enormes archivos de texto en Java
- 12. Trabajando con múltiples archivos de código y carpetas en Python
- 13. Trabajando con la API de Google Location
- 14. Trabajando con la conversión inválida de const
- 15. Trabajando con Android con Arduino
- 16. MySQL trabajando con 127.0.0.1 pero no trabajando con localhost?
- 17. Embalaje de archivos Javascript en una guerra?
- 18. Trabajando con README.md en github.com
- 19. Trabajando con C# Anonymous Types
- 20. Trabajando con WTForms FieldList
- 21. Trabajando con CAReplicatorLayer
- 22. ¿Implementar archivos de guerra en Apache Felix?
- 23. ¿Puede Spring Parse e inyectar archivos de propiedades?
- 24. Trabajando con hilos C#
- 25. Cómo incluir un archivo fuera de la aplicación (la guerra) utilizando JSP incluir
- 26. Construir fuera de la fuente con scons?
- 27. cmake: Trabajando con múltiples configuraciones de salida
- 28. ¿Cómo puedo hacer que las propiedades de los archivos de propiedades sean obligatorias en Spring?
- 29. fuente Eclipse fuera de sincronía con el sistema de archivos
- 30. Trabajando con el evento AppDomain.AssemblyResolve
Estoy utilizando Spring versión 4. Parece que no hay anotación de valores. Usar la anotación de valor no rellena mis valores. Además, recibo un mensaje sobre el inicio de la aplicación que indica que el archivo de propiedad se ha cargado. 2017-04-05 17:27:51 INFO PropertySourcesPlaceholderConfigurer: 172 - Cargando el archivo de propiedades desde la URL [file: c: //java//resources//googleDocsValues.properties]. Alguna sugerencia ? – Ankit