• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Architecture problem: How to manage property files to the following scenario...

 
Rafael F. Oliveira
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have a big problem in my company:

Scenario
- The same application "App" was installed in two contexts: www.company.com.br/AppProd and www.company.com.br/AppTest
- Each one has an app.properties file that contains its database configuration (url, user, password, etc).
- Each one has a separated Apache HTTP Server and 2 Tomcat for load balancing.
- Base technologies: Apache, Tomcat, Spring and Java

Problem:
We would like to keep the user changes (in the app.properties file) even if a new App is released and deployed.
Where/how should I put, link and load the app.properties in the source code/directory of the application?

Possible Solution (just a idea, not yet implemented):
Put each app.properties in the apache configuration directory, for example, apache1/conf/app.properties and apache2/conf/app.properties. Using this, we can redeploy a new version without overwrite the app.properties file, instead of to put this file (packed in the .war file) in the tomcat webapps directory.
I've read about PropertyPlaceholderConfigurer, but how to use this Class in my scenario?

Anyone has a idea how to solve this problem?

Thanks in advance!

Rafael Oliveira
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Pie
Posts: 11865
194
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is not a certification question, so it does not belong in the certification forums.

I've been trying to decide where to move this to - normally I would handle this as a basic servlet / container issue. Using something like the ServletConfig you could store the database configuration on the Tomcat server, and this would be readable at the time the servlet starts up.

However since you have asked about Spring in particular, the people in the Spring forum may have other solutions. So I am moving this to the Spring forum.
 
Rafael F. Oliveira
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can I use JNDI and DataSource to solve my problem?

For example, If I started my application using the following link http//10.0.0.1/app_test -> get the dataSource from jdbc/app_test, else, if I started my application using the following link http//10.0.0.1/app_prod -> get the dataSource from jdbc/app_prod

Is this possible?
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic