Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance: Investigate use of JSR 107: JCache - Java Temporary Caching API #2100

Closed
pdurbin opened this issue Apr 26, 2015 · 4 comments
Closed
Labels
Component: Code Infrastructure formerly "Feature: Code Infrastructure" Type: Suggestion an idea

Comments

@pdurbin
Copy link
Member

pdurbin commented Apr 26, 2015

"With twelve characters, you've just sped up the system by orders of magnitude."

-- @smillidge Supercharging Java EE applications with JCache, Speaker: Steve Millidge https://www.youtube.com/watch?v=FscLn-9crfE#t=12m21s

Those twelve characters are @CacheResult

He adds them to the getOrdersForCustomer method of https://github.com/smillidge/JCacheWebinar/blob/master/PizzaConnector/src/main/java/fish/payara/examples/jcache/pizzaconnector/PizzaStoreConnector.java

@CacheResult comes from import javax.cache.annotation.CacheResult - https://github.com/jsr107/jsr107spec/blob/master/src/main/java/javax/cache/annotation/CacheResult.java

JCache is a new (March 2014) standard: JSR 107: JCACHE - Java Temporary Caching API: https://jcp.org/en/jsr/detail?id=107

At https://blogs.oracle.com/theaquarium/entry/jcache_is_final_i_repeat Oracle indicated that many Java EE users would like to see JCache be added to the Java EE standard.

Back to the talk (which I found at http://www.payara.co.uk/payara_is_speaking_at_jdays_2015 ), here is where getOrdersForCustomer is called in the demo:

https://github.com/smillidge/JCacheWebinar/blob/master/HazelcastWebinar/src/main/java/fish/payara/examples/jcache/rest/CustomerOrdersResource.java

A slide from http://www.slideshare.net/Hazelcast/payara-hazelcast-webinar below

javaee_applications_supercharged_ using_jcache_with_payara-_2015-04-26_12 29 09

@pdurbin pdurbin added Type: Suggestion an idea Component: Code Infrastructure formerly "Feature: Code Infrastructure" labels Apr 26, 2015
@scolapasta scolapasta added this to the 4.0.1 milestone Apr 27, 2015
@smillidge
Copy link
Contributor

These docs let you know how to enable Hazelcast (JSR107) in Payara https://github.com/payara/Payara/wiki/Hazelcast-%28Payara-4.1.151%29

Happy to help if you use Payara

@scolapasta scolapasta modified the milestones: Candidates for 4.0.1, In Design May 8, 2015
@pdurbin
Copy link
Member Author

pdurbin commented May 12, 2015

I've been told that this version has better audio: https://www.youtube.com/watch?v=RIl8Fekqtwk

@smillidge thanks for the offer! Great presentation!

@scolapasta scolapasta modified the milestones: Candidates for In Design, In Design Jun 25, 2015
@mercecrosas mercecrosas modified the milestones: Candidates for In Design, In Review Nov 30, 2015
@raprasad raprasad removed their assignment Jan 28, 2016
@scolapasta scolapasta removed this from the Not Assigned to a Release milestone Jan 28, 2016
@pdurbin
Copy link
Member Author

pdurbin commented Jun 27, 2017

I still think that JCache is an interesting technology and that JSR 107 is an interesting spec, but I guess I'm the only one in the Dataverse community who thinks so. I'm closing this issue but I'm happy to open it up again if someone wants to play around with this technology with me.

@pdurbin
Copy link
Member Author

pdurbin commented May 22, 2018

I'm just copying over a comment by @matthew-a-dunlap over at #4527 (comment)

"I finally got back to this today. After digging into jCache and implementations via ehcache/HazelCache, as far as I can tell they require deployment of an external application to handle caching. Payara bundles HazelCache out of the box but for glassfish does not.

I tried digging deeper into HazelCache anyways because it has the most complete/current documentation. Reading over documentation here I tried following along with the GlassFish v3 section and deploying hazelcast-jca-rar to autodeploy but it spit out a file saying the application deployed in failure.

Stepping back I'm unsure if we want another external application dependency alongside Dataverse. There is a fair chance I'm misunderstanding the ways in which this caching can be set up, but I'm over my head in terms of GlassFish server knowledge."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Code Infrastructure formerly "Feature: Code Infrastructure" Type: Suggestion an idea
Projects
None yet
Development

No branches or pull requests

5 participants