You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Andy Jefferson (JIRA)" <ji...@apache.org> on 2008/07/12 08:44:31 UTC

[jira] Created: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Level 2 Caching ability to restrict what classes/fields are cahed
-----------------------------------------------------------------

                 Key: JDO-599
                 URL: https://issues.apache.org/jira/browse/JDO-599
             Project: JDO
          Issue Type: New Feature
          Components: api2, api2-legacy, specification
            Reporter: Andy Jefferson
             Fix For: JDO 2 maintenance release 2


Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.

1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
3. Add a new annotation @Cacheable applicable to class/field/property

The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614768#action_12614768 ] 

Craig Russell commented on JDO-599:
-----------------------------------

Now that the code is checked in, "all that's needed" is the specification update.

> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>            Assignee: Craig Russell
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch, jdo-599.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Russell closed JDO-599.
-----------------------------

    Resolution: Fixed

The draft specification dated 30-July-2008 has been updated.

> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>            Assignee: Craig Russell
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch, jdo-599.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson updated JDO-599:
-------------------------------

    Attachment: api2_schema.patch
                api2-legacy_schema.patch
                api2_annotations.patch

Patches for 
1. updating jdo.xsd for api2 and api2-legacy to add "cacheable" attribute to <class>, <interface>, <field>, <property>
2. adding @Cacheable annotation, and adding "cacheable" property to @PersistenceCapable and @Persistent

> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12613254#action_12613254 ] 

Andy Jefferson commented on JDO-599:
------------------------------------

All patches applied.

> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Russell reassigned JDO-599:
---------------------------------

    Assignee: Craig Russell

> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>            Assignee: Craig Russell
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch, jdo-599.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JDO-599) Level 2 Caching ability to restrict what classes/fields are cahed

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Russell updated JDO-599:
------------------------------

    Attachment: jdo-599.patch

All "boolean" values are actually represented as Strings in annotations. Having the @Cacheable annotation use a real boolean value is arbitrarily different.

I'd prefer that @Cacheable also use a String with a default value of "true".




> Level 2 Caching ability to restrict what classes/fields are cahed
> -----------------------------------------------------------------
>
>                 Key: JDO-599
>                 URL: https://issues.apache.org/jira/browse/JDO-599
>             Project: JDO
>          Issue Type: New Feature
>          Components: api2, api2-legacy, specification
>            Reporter: Andy Jefferson
>             Fix For: JDO 2 maintenance release 2
>
>         Attachments: api2-legacy_schema.patch, api2_annotations.patch, api2_schema.patch, jdo-599.patch
>
>
> Having more control over what goes into an L2 cache is desirable for some systems. Currently JDO(2) provides no control other than the pin/unpin/evict methods on the DataStoreCache. One way of providing more control would be to allow specification via metadata (XML/annotations) for classes/fields.
> 1. Add a "cacheable" attribute to class/field XML elements with default value of "true".
> 2. Add a "cacheable" property to @PersistenceCapable/@Persistent with default value of true.
> 3. Add a new annotation @Cacheable applicable to class/field/property
> The user can then define particular classes to never be L2 cached, and also particular fields to never be L2 cached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.