|
Hi, For the last couple of years we have been using the component
functionality Avalon/Excalibur (from avalon-framework.jar
and avalon-excalibur-4.1.jar). The JdbcDataSource component in
this does not block (and wait) if no connections are left in the pool, which
has recently become a problem for us. I am planning to fix this by using the ResourceLimitingJdbcDataSource
class. Looking at the Excalibur website it appears that there have
been some changes (i.e. the Avalon project itself has closed). To bring our
code up-to-date, I downloaded the following jar files: avalon-fortress-container-complete-1.1.jar excalibur-component-1.2.jar excalibur-datasource-1.2.0.jar excalibur-pool-1.2.jar These seem to contain all the classes that we previously used
from avalon-framework.jar and avalon-excalibur-4.1.jar,
and with these our webapp runs fine. However, once I changed components.xconf
to create a data source component that uses org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource
(and added excalibur-pool-instrumented-2.0.0.jar, which is necessary) I get a
link error. Using the source code instead of excalibur-datasource-1.2.0.jar
I get a compilation error “cannot convert from ResourceLimitingJdbcConnectionPool
to InstrumentedResourceLimitingPool” (line 323) This seems to be a problem with line 160 of ResourceLimitingJdbcDataSource - m_pool
is declared as type InstrumentedResourceLimitingPool,
yet it is instantiated on line 323 as a ResourceLimitingJdbcConnectionPool,
which doesn’t inherit from InstrumentedResourceLimitingPool. If I change line 160 so that m_pool
is of type ResourceLimitingJdbcConnectionPool then
everything works ok. I don’t really want to alter the source myself so I
was wondering if I am using the right jar files and, if so, why is this problem
occurring? Any help gratefully received. Thanks, Martin. |
- Re: Using ResourceLimitingJdbcDataSource Martin Wilson
- Re: Using ResourceLimitingJdbcDataSource Leo Simons
- Re: Using ResourceLimitingJdbcDataSource Niclas Hedhman
