https://bz.apache.org/bugzilla/show_bug.cgi?id=61303
Bug ID: 61303 Summary: Refactoring of ConnectionPool Product: Tomcat Modules Version: unspecified Hardware: PC Status: NEW Severity: enhancement Priority: P2 Component: jdbc-pool Assignee: dev@tomcat.apache.org Reporter: lemesmach...@gmail.com Target Milestone: --- Hello everyone. I was analyzing the modularization of some classes, and I identified that the class ConnectionPool has an opportunity for cohesion improvement. The class Http11Protocol was in the same situation and the problem was solved as follows: The HttpBaseProtocol class was created, and several get() and set() methods that were used only to configure the class parameters were moved from Http11Protocol to HttpBaseProtocol. The new class was then accessed through an instance variable in Http11Protocol. This strategy has cleaned and improved Http11Protocol cohesion. With this in mind, I would recommend creating a new class: ConnectionPoolConfig , and moving the following methods: getNumTestsPerEvictionRun setMaxAge setTestWhileIdle getPropagateInterruptState setPassword getIdle getDriverClassName getDataSourceJNDI setAlternateUsernameAllowed getValidationInterval getValidator setValidationQuery setUrl setCommitOnReturn getPassword getDbProperties setTimeBetweenEvictionRunsMillis setValidationInterval getName getUseDisposableConnectionFacade getUrl getMinIdle getRollbackOnReturn getMaxIdle getInitSQL getPoolName setLogValidationErrors setJmxEnabled setRemoveAbandoned getNotificationInfo setName setRollbackOnReturn getMaxActive setDataSource getLogValidationErrors getJdbcInterceptorsAsArray setUseDisposableConnectionFacade getMinEvictableIdleTimeMillis getRemoveAbandonedTimeout setDefaultAutoCommit setDefaultTransactionIsolation setMinIdle setValidator setInitialSize getConnectionProperties getInitialSize setUsername setDefaultCatalog getMaxAge setUseLock getNumActive getDefaultAutoCommit setDataSourceJNDI setValidationQueryTimeout getSuspectTimeout setPropagateInterruptState setMaxWait getPoolProperties getUseLock getActive setAbandonWhenPercentageFull getNumIdle getMaxWait getSize setDriverClassName setLogAbandoned setRemoveAbandonedTimeout setTestOnConnect getAbandonWhenPercentageFull setAccessToUnderlyingConnectionAllowed setTestOnBorrow setTestOnReturn setValidatorClassName setUseEquals getUsername setDbProperties getTimeBetweenEvictionRunsMillis setIgnoreExceptionOnPreLoad getDefaultReadOnly getCommitOnReturn getPool setMaxIdle getDataSource getWaitCount getValidationQuery getValidationQueryTimeout getDefaultTransactionIsolation setDefaultReadOnly getJdbcInterceptors setFairQueue getDefaultCatalog setMaxActive javax.management.MBeanNotificationInfo[] setConnectionProperties setSuspectTimeout setMinEvictableIdleTimeMillis getValidatorClassName setNumTestsPerEvictionRun setInitSQL setJdbcInterceptors from the ConnectionPool. Those parameters accessed by an instance variable in the ConnectionPool. Moreover, the orthogonality is the design would be enhanced. What do you think about that? -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org