그래서 JDBC보다 데이터베이스 풀링에 더 좋은 옵션이 있다는 것을 알았지 만 여전히 뭔가가 나를 미치게합니다. 모든 예제 코드에서 이와 같은 풀링을 제안합니다.우리가 PoolableConnectionFactoryObject를 만드는 이유
GenericObjectPool connectionPool = new GenericObjectPool(null);
ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, un, pw);
PoolableConnectionFactory poolableConnectionFactory =
new PoolableConnectionFactory(connectionFactory, connectionPool, null, "SELECT 1", false, true);
PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
return dataSource;
왜 PoolableConnectionFactory가 만들어 졌습니까? 그것은 결코 사용되지 않으며, 소스를 보면서, 실제로 생성자에서 어떤 것도 함께 묶어 버리는 것을 볼 수 없으며, 자신의 private 변수를 설정하는 것 이외에는 어떤 것도하지 않습니다. JDBC 사이트는 정보에 대해 다소 암묵적이며 소스 코드를 통한 모든 파기는 나를 혼란스럽게 만들었습니다. 이것을 할 이유가 있습니까? 외관상으로는 실제로 변수를 변수에 할당하지 않고 새로운 객체로 인스턴스화 할 수 있습니다. 그러면 충분할 것입니다 ... 더 혼란스럽게합니다. 팩토리를 생성 생성, 그래서
_pool = pool;
_pool.setFactory(this);
하고 만드는 :
감사합니다. 이 메소드가 간과 되었기 때문에 간과 한 것 같아요. 오브젝트를 함께 연결하는 방법을 알 수 없었습니다. –