ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ron Grabowski (JIRA)" <ibatis-...@incubator.apache.org>
Subject [jira] Commented: (IBATIS-182) Add global cache declaration
Date Wed, 17 Aug 2005 14:28:54 GMT
    [ http://issues.apache.org/jira/browse/IBATIS-182?page=comments#action_12319032 ] 

Ron Grabowski commented on IBATIS-182:

Changing everything over to use properties:

 <property name="flushInterval" value="2" />
 <property name="flushOnExecute" value="*.Insert" /> 

might make things more flexible but it also reduces the benefits of having a structured XML
document. I'm sure there is a happy medium somewhere between the two.

> Add global cache declaration
> ----------------------------
>          Key: IBATIS-182
>          URL: http://issues.apache.org/jira/browse/IBATIS-182
>      Project: iBatis for Java
>         Type: New Feature
>   Components: SQL Maps
>     Versions: 2.2.0, 2.2.5
>  Environment: All
>     Reporter: agharta

> Can i suggest a new feature??
> I suggest a global cache declaration, available for many sqlmap files.
> Example:
> Now,  into a sqlMap file:
> <cacheModel id="cache" readOnly="true" serialize="true" type="LRU">
>         <flushOnExecute statement="Author.insertAuthor"/>
>         <flushOnExecute statement="Author.updateAuthorById"/>
>         <flushOnExecute statement="Author.deleteAuthorById"/>
>         <property name="size" value="100000"/>
>         <flushInterval hours="24"/>
> </cacheModel>  
> Ok? This cache is valid only into this sqlmap file.
> So, following Spring's idea, if i have many sqlmap files and i want to extend the same
cache declaration....
> //into sqlMapConfig file or another dedicated file
> <cacheMap namespace="GlobalCache"> //new definition
>     <cacheModel id="cache" readOnly="true" serialize="true" type="LRU">
>         <flushOnExecute statement="insert*"/>
>         <flushOnExecute statement="update*"/>
>         <flushOnExecute statement="delete*"/>
>         <property name="size" value="100000"/>
>         <flushInterval hours="24"/>
>     </cacheModel>  
> </cacheMap>
> So, the sqlMap call the global cache model with the  useStatementNamespaces="true" setted
into sqlmapconfig file (therefore many global cache are availables)
> <statement id="getAuthorById" parameterClass="java.lang.Integer"
>         resultMap="get-author-result" cacheModel="GlobalCache.cache" >
>         <include refid="select"/>
>         WHERE ID = #value#
>  </statement>
> With this feature we'll save a lot of redundant code.
> I suggest a cache definition also into insert/update/delete statements, to allow the
internal or "global" cache selection.
> Is it possible??
> Thanks a lot for reply!
> Regards,
>                       Agharta

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message