2012-09-15 3 views
2

웹 응용 프로그램을 개발 중이며이 웹 응용 프로그램은 많은 사람들에게 판매됩니다. 이 애플리케이션은 Java Spring에서 개발 중이다. 응용 프로그램에는 데이터베이스가 있으며 판매 될 때이 데이터베이스는 다른 위치에있을 수 있습니다.설정 정보 저장

Java 코드가 데이터베이스를 찾을 수 있도록이 데이터베이스 위치를 저장하는 가장 좋은 방법은 어디입니까?

데이터베이스 파일을 XML 파일에 저장 하겠지만 데이터베이스 위치는 누군가가 쉽게 변경할 수 있습니다.

스프링 빈에 저장하고 싶지 않습니다. 다른 방법이 있습니까?

답변

1

문제는 웹 응용 프로그램이므로 WAR 파일을 제공 할 것을 제안합니다. 모든 Spring 설정과 속성은 패키지 될 것입니다; 뭔가를 바꾸는 것은 패키지를 여는 것을 의미 할 것입니다.

패키지가 배포되는 응용 프로그램 서버에 설정된 JNDI 이름을 사용하여 데이터베이스 액세스를 설정해야합니다. Tomcat 및 기타 응용 프로그램 서버에 대한 설정 방법을 보여주는 지침을 제공하십시오. 앱이 시작되면 앱 서버에서 데이터 소스 이름을 가져옵니다.

당신은 자신의 앱 서버에 JNDI 데이터 소스를 만들 수있을만큼 정교하거나 문서가 충분하다고 가정하고 있습니다. 좋은 결과 내길 바랄 게.

또 다른 생각은 응용 프로그램의 구성 정보와 함께 제공되는 Hypersonic 또는 Derby와 같은 메모리 데이터베이스를 작게 만드는 것입니다. 사용자가 지정한 앱 외부의 위치 (예 : c :/yourApp/configuration)에 배치하고 앱이 시작될 때 시작하는 스크립트를 제공하고로드 할 때 애플리케이션에서 데이터베이스 연결 정보를 쿼리하도록합니다.

이제 인 메모리 데이터베이스에 대해 INSERT 또는 UPDATE 쿼리를 만드는 방법을 알고있을 것입니다. 그러나 WebLogic, Tomcat, Jetty, JBOSS, WebSphere, Glassfish 및 기타 모든 Java EE 응용 프로그램 서버에서이를 수행하는 방법을 알아야 할 필요가 없기 때문에 문서화 방법을 설명하는 문서를 작성할 가능성이 큽니다.

+1

음, 웹 앱 자체는 관리 인터페이스를 통해 내부 설정 DB를 노출 할 수 있습니다. –

+0

사실 충분하지만 해당 URL에 대한 액세스를 관리자에게만 제한하고 싶습니다. 사용자가 자유롭게 사용할 수 있도록하십시오. 그러나 정말로 좋은 생각. – duffymo

+0

관리자 만 DB를 구성 할 수 있도록 액세스를 제한하도록 DB를 구성하면됩니다. DB에 관리자가 구성됩니다. 오, 기다려. –