{"action":"created","issue":{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/42","labels_url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/42/comments","events_url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/42/events","html_url":"https://github.com/edalquist/ehcache-spring-annotations/issues/42","id":59708365,"number":42,"title":"Usage of Spring EL for a new CacheKeyGenerator","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/labels/Milestone-Release1.1.3","name":"Milestone-Release1.1.3","color":"ededed"},{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/labels/Milestone-Release1.2.0","name":"Milestone-Release1.2.0","color":"ededed"},{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/labels/Priority-Medium","name":"Priority-Medium","color":"ededed"},{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-03-03T21:28:05Z","updated_at":"2015-03-03T21:28:10Z","closed_at":"2015-03-03T21:28:06Z","body":"```\nHi,\n\nNice project! \nI did not find another way of contacting anyone and cannot set the issue type \nto suggestion or something alike so here goes:\n\nI somewhat coded a simular project for caching using Spring and EHCache. I am \nusing a specific property in the annotation for retrieval of the cacheKeys in \nthe arguments of the method.\nE.g.:\n@Cacheable(argSpELToCacheId = { \"id\", \"id2\" })\n\nThe arguments are traversed using Spring EL and thus a way of getting the \ncacheKey.\n\nAny tips on integrating this into your code? I have a working version and here \nis my logic:\n1.alterring @Cacheable, CacheableAttribute(and Impl), CacheAttributeSourceImpl \nwith the new property\n2. The EHCacheInterceptor to pass the actual values to the CacheKeyGenerators \nand call new method see 3.\n3. adding new method in CacheKeyGenerator T generateKey(MethodInvocation \nmethodInvocation, MethodAttribute methodAttribute); Of course this is just a \nhack to get it to work.\n4.Modify AbstractCacheKeyGenerator to implement this method Actually now \nreplacing the one without the extra parameter but to not break everything I \nopted to do this for now. Forcing myself to use \nincludeMethod,includeParameterTypes so I only need to alter 1 method\n5. Creating SpELCacheKeyGenerator and is working.\nMaybe a good idea to put the concept of identifying your own cache-key like \nthis (see JPA/Hibernate @Id) into  next version.\nMaybe put these EL values in the @KeyGenerator annotation and then passing it \nto the Generators when generating the key, instead of now using the @Cacheable \nfor this? \nWhat do you think?\nAnyway thanks and keep up the good wok!\n\nKind regards,\nTimothy\n```\n\nOriginal issue reported on code.google.com by `timothy....@gmail.com` on 13 Aug 2010 at 2:57"},"comment":{"url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/comments/77038622","html_url":"https://github.com/edalquist/ehcache-spring-annotations/issues/42#issuecomment-77038622","issue_url":"https://api.github.com/repos/edalquist/ehcache-spring-annotations/issues/42","id":77038622,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-03-03T21:28:10Z","updated_at":"2015-03-03T21:28:10Z","body":"```\nWe push releases to oss.sonatype.org when we create them:\nhttps://oss.sonatype.org/content/repositories/releases/com/googlecode/ehcache-sp\nring-annotations/\n\nThey sync to the central repo periodically (hourly I think) so it should be \nthere soon.\n```\n\nOriginal comment by `eric.dalquist` on 9 Mar 2011 at 5:53"}}