2014-07-10 2 views
0

저는 Java 웹 프로그래밍을 처음 사용하고 저지 기반 응용 프로그램을 설치하려고합니다.저지 기반 응용 프로그램에 대한 데이터베이스 연결을 초기화하는 위치

데이터베이스 연결 풀을 설정해야하며 가능한 최선의 방법을 찾는 좋은 예를 찾는 데 어려움을 겪고 있습니다. 내 이해에서 그것은 서블릿의 init() 메소드에서 일어나야한다. web.xml에서 설정할 수있는 ServletContextListener에 대해 읽었지만 컨테이너 (Glassfish)가 web.xml을 지원하지 않는다고 생각합니다.

또 하나의 질문은 데이터베이스 연결이 끊어지면 어떻게 될까요? 한 번만 실행되는 init()에서 연결을 설정하면 어떻게 다시 연결해야합니까?

// 편집 : 내 문제의 큰 부분은 그리 즐 내 컨테이너 확신되었다는 생각 (대신 글래스 피시의 아래 지적)

+0

당신은 용기가 아니라 그리 즐로 글래스 피시를 의미 :

당신은 자원을 찾고 측면에서 여기 파스칼 Thivent에서 좋은 답변과 (이전에 자바 EE 6) 그것의 역사를 찾을 수 있습니다. – JamesB

+0

당신 말이 맞아요. 내 질문을 업데이트했습니다. –

답변

1

코드에 연결 풀을 설정하지 마십시오. 이 작업을 설정하는 글래스 피시에서 제공하는 관리 콘솔을 사용합니다 :

@Resource(name="jdbc/mydatabase") 
private DataSource dataSource; 

이름 : 연결을 얻기의 측면에서

http://docs.oracle.com/cd/E18930_01/html/821-2416/ggndx.html#gharo

, 당신은 단순히 CDI를 사용하여 코드에 데이터 소스를 삽입 데이터 소스의 JNDI 이름입니다.

자바 EE 7 : http://docs.oracle.com/javaee/7/api/javax/annotation/Resource.html

자바 EE 6 : http://docs.oracle.com/javaee/6/api/javax/annotation/Resource.html

연결 풀 관리의 측면에서, 당신은 코드에 대해 걱정할 필요가 없습니다. 컨테이너가 모든 것을 처리합니다. 관리자 콘솔을 통해 해당 속성을 구성 할 수 있습니다. Proper usage of JDBC Connection Pool (Glassfish)

+0

두껍기 때문에 미안하지만'mvn exec : java '로 응용 프로그램을 실행합니다. 관리 콘솔에 어떻게 액세스합니까? –

+1

이 명령은 코드가 임베디드 환경에서 실행될 것이라고 제안합니다. 글래스 피쉬는 별도로 설치하고 내장 된 응용 프로그램을 배포하는 것입니다. – JamesB

0

응용 프로그램 서버에서 데이터 소스로 정의합니다 (예 : 글래스 피시)를 찾아 JNDI를 사용하여 찾는다.

관련 문제