Cache Model LRU not working
---------------------------
Key: IBATIS-82
URL: http://issues.apache.org/jira/browse/IBATIS-82
Project: iBatis for Java
Type: Bug
Versions: 2.0.9
Reporter: Claudio Martins
I use the LRU cache model for caching of my database objects.
On the first query, things work ok, but the other ones, just returns null.
I tried many, many things to make it work, unsuccessfully.
When I disabled caching, everything worked fine.
Here are my configuration files:
Main Configuration File
-----------------------
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
<property name="JDBC.DefaultAutoCommit" value="true"/>
<property name="Pool.MaximumActiveConnections" value="10"/>
<property name="Pool.MaximumIdleConnections" value="5"/>
<property name="Pool.TimeToWait" value="500"/>
<property name="Pool.PingQuery" value="SELECT SYSDATE FROM DUAL"/>
<property name="Pool.PingEnabled" value="false"/>
<property name="Pool.PingConnectionsOlderThan" value="1"/>
<property name="Pool.PingConnectionsNotUsedFor" value="1"/>
</dataSource>
</transactionManager>
.... (other stuff from here)
SqlMap File
------------
<cacheModel id="cache-Cobranca" type="LRU">
<flushInterval hours="2"/>
<property name="size" value="1000"/>
</cacheModel>
<statement id="select-valor-nao-pago"
parameterClass="com.globo.billing.core.beans.PesquisaValoresNaoPagosBean"
resultClass="com.globo.billing.core.beans.PesquisaValoresNaoPagosBean"
cacheModel="cache-Cobranca">
SELECT
COB.COBRANCA_ID as codigoCobranca,
COB.ASSINATURA_ID as codigoAssinatura,
COB.VALOR_LIQUIDO_NUM as valorLiquido,
DATA_VENC as dataVencimento,
VALOR_PAGO_NUM as valorPago,
DATA_PGTO as dataPagamento,
DATA_CANCELAMENTO as dataCancelamento,
AGENTE_EMISSOR_ID as agenteEmissor,
STATUS_NUM as statusCobranca,
TIPO_COBRANCA_ID as tipoCobranca,
LINHA_COBRANCA_ID as codigoLinhaCobranca,
VALOR_UNITARIO_NUM as valorUnitario,
TIPO_LINHA_ID as tipoLinhaCobranca,
MES_COMPETENCIA_DT as mesReferencia
FROM
TB_GLB_SGP_BOLETO_AVULSO BA,
(SELECT
COBRANCA.COBRANCA_ID,
COBRANCA.ASSINATURA_ID,
COBRANCA.VALOR_LIQUIDO_NUM,
COBRANCA.DATA_VENC,
COBRANCA.VALOR_PAGO_NUM,
COBRANCA.DATA_PGTO,
COBRANCA.DATA_CANCELAMENTO,
COBRANCA.AGENTE_EMISSOR_ID,
COBRANCA.STATUS_NUM,
COBRANCA.TIPO_COBRANCA_ID,
LINHA.LINHA_COBRANCA_ID,
LINHA.VALOR_UNITARIO_NUM,
LINHA.TIPO_LINHA_ID,
COBRANCA.MES_COMPETENCIA_DT
FROM
TB_GLB_SGP_COBRANCA COBRANCA,
TB_GLB_SGP_LINHA_COBRANCA LINHA
WHERE
COBRANCA.ASSINATURA_ID = #codigoAssinatura:NUMERIC#
AND COBRANCA.COBRANCA_ID = LINHA.COBRANCA_ID
AND COBRANCA.COBRANCA_ID = (SELECT
MAX(COBRANCA_ID)
FROM
TB_GLB_SGP_COBRANCA COBRANCA2
WHERE
COBRANCA2.ASSINATURA_ID =
COBRANCA.ASSINATURA_ID) ) cob
WHERE
COB.COBRANCA_ID = BA.COBRANCA_ID(+)
AND (STATUS_NUM = 4
OR (STATUS_NUM = 10 AND tipo_cobranca_id = 2 AND
agente_emissor_id = 4)
OR (STATUS_NUM = 2 AND trunc(DATA_VENC) < sysdate)
OR (STATUS_NUM = 11 AND TRUNC(BA.DATA_VENCIMENTO +
#limiteDiasPosEmissaoBoletoAvulso:NUMERIC#) < TRUNC(SYSDATE) ) )
</statement>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira