Groovy 콘솔이 연결된 웹 응용 프로그램이 있습니다.org.apache.tomcat.jdbc.pool.DataSource의 maxActive 속성을 동적으로 변경할 수 있습니까?
내가 XML을 통해 구성 다음 콩이 :
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
<property name="driverClassName" value="${db.driverClass}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="validationQuery" value="${db.validationQuery}" />
<property name="testOnBorrow" value="true" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="1800000" />
<property name="numTestsPerEvictionRun" value="8" />
<property name="removeAbandoned" value="true"/>
<property name="logAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="60"/>
<!--connection pooling props -->
<property name="maxActive" value="${db.maxActive}"/>
<property name="maxIdle" value="${db.maxIdle}"/>
<property name="maxAge" value="${db.maxAge}"/>
<property name="maxWait" value="${db.maxWait}"/>
<property name="initialSize" value="${db.initialSize}"/>
<property name="minIdle" value="${db.minIdle}"/>
</bean>
그루비 콘솔을 통해를, 난 쉽게 호출 할 수 있습니다
appCtx.getBean("dataSource").setMaxActive(someNumber);
을 appCtx
내 Spring 애플리케이션 컨텍스트입니다.
제 질문은이 입니다. 실제로은 연결 풀 동작을 변경합니다. 내가 찾은 모든 링크는 초기 구성에 집중하는 것 같습니다. 풀을 만든 후에 구성을 수정하려고합니다.
이 코드는 실제로 런타임 확인을 받아야합니다. 코드에서 maxActive 속성이 런타임에 변경되지 않을 것으로 예상 할 수있는 것처럼 보입니다. – EricHenry
동시에 풀은 JMX를 통해 노출 될 수 있습니다 ... – EricHenry