2012-06-26 4 views
1

이것은 이전에 게시 한 question에서 다음과 같이 나와 있습니다. 연결 풀을 사용하여 내 Postgres 데이터베이스에 연결하는 것이 좋습니다. Postgres' jdbc4 설명서에 따르면 두 가지 유형의 풀을 사용할 수 있음을 언급합니다. 하나는 Application Server가 있고 다른 하나는 Application Server가 없습니다. 나중에 인상 할 이유로 Application Server를 사용하지 않을 계획입니다. 나는 응용 프로그램 서버없이 연결 풀에 대한 빠른 질문을했다 :응용 프로그램 서버가없는 Postgres SQL 풀 연결

당신은 당신이 필요한 경우, 당신은 속성의 dataSourceName, databaseName을, 사용자 및 암호 (설정해야합니다 이것을 사용 하시겠습니까 경우 사용자). serverName, portNumber, initialConnections 및 maxConnections의 설정은 선택 사항입니다. 기본 사용자에 대한 연결 만 풀링됩니다! 다른 사용자의 연결은 일반 풀링되지 않은 연결이며 최대 풀 크기 제한에 포함되지 않습니다.

기본 사용자는 무엇입니까? Postgres 데이터베이스 사용자/역할입니까? 이 패키지를 프론트 엔드에 추가하는 것만으로도 충분하고 Postgres를 실행하기위한 전용 서버가 있습니까?

이전에 글래스 피시에서 작업 해 왔기 때문에 내가이쪽으로 기울어 진 이유는 데이터 소스와의 연결성 및 지속성이 좋았지 만 이미 만든 Postgres 데이터베이스에서 엔티티 클래스를 생성하는 데 문제가 발생했습니다 (240 테이블, herehere 참조).

따라서 EJB와 Glassfish를 사용하는 아이디어를 버리고 대신 jdbc 연결을 사용하는 간단한 싱글 톤 패턴을 사용하여 데이터베이스에 연결했습니다. 응용 프로그램이 매우 빠르게 실행되고 있습니다. 따라서 응용 프로그램 서버를 사용하지 않는 경향이 있습니다. 이것은 올바른 인상입니까 아니면 부당한 정보입니까?

+0

"기본"사용자는 연결 풀 속성에 정의 된 사용자입니다. –

+0

감사합니다. c3p0과 같은 프레임 워크를 선택한 경우 응용 프로그램에 추가해야하고 내 서버에서는 아무 것도 변경하지 않아야합니다. 내 서버에는 Postgres SQL 만 있습니다. – greatkalu

+0

수정하십시오. 연결 풀은 응용 프로그램 서버에만 관련이 있습니다. PostgreSQL는 연결이 풀에서 발생했는지 여부를 알 수 없습니다. –

답변

0

먼저 응용 프로그램 서버가 도움이되는지 여부를 결정하기에는 정보가 너무 적습니다. 일반적으로 속도 문제가 적고 기업 전체의 다양한 응용 프로그램에서 논리를 재사용해야합니다.

두 번째로 연결 풀링에 대해 기억해야 할 것은 다른 사용자로 한 사용자에 대한 연결을 다시 사용할 수 없다는 것입니다. 따라서 일반적으로 단일 응용 프로그램 사용자 아래에 연결 풀이 있어야합니다. 연결 풀 수준에서 구성됩니다. 다른 응용 프로그램을 다른 사용자가있는 db에 연결하는 여러 연결 풀을 가질 수 있습니다.