Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Examples/JPA/Ehcache

Integrating EclipseLink with Terracotta Network Attached Memory

DISCLAIMER: This page reflects investigation into how EclipseLink users can integrate with Terracotta ehcache. It does NOT imply any formal certification that EclipseLink supports the Terracotta API at this time.

Purpose

Summary

  • This document in progress as of 20100326 details how to integrate EclipseLink with Ehcache. We will explore both the Ehcache open source version as well as the commercial Terracotta Inc. version - (via a TIM - Terracotta Integration Module) into the Terracotta Inc. Network Attached Memory (Distributed JVM-aware transparent Cache).
  • The goal of this investigation is to define and publish a procedure on using EclipseLink as the JPA provider in a distributed memory application based on Terracotta Inc. Caching API.
  • The motivation of this work is in learning and leveraging 'ehcache from Terracotta Inc. and details/issues of the technical space surrounding distributing caching in general as described in the paper on the new Java5 memory model by William Pugh - The Java Memory Model.
  • I am interested in the following...
    • Use as a JVM bridge, or JVM agnostic application (IE: Mixed J9, SUN, JRockit implementations)
    • Q) If orm relationships are computed, then how to override outside of using @OneToMany(mappedBy="") annotation and differentiate between unidirectional and bidirectional 1:M relationships.

Setup

Tutorial Source

Development Environment

  • We will be using a cluster of 3 identical machines (Low power P4-630 CPU's) running 32 bit versions of the SUN JDK 1.6.0_18

Prerequisites

  • We will attempt to keep all software open-source if possible.

Setup Cluster

  • We are using 3 P4-630 32 bit machines and 1 Corei7 64 bit machine.

Install Eclipse EE

  • We are using Eclipse 3.5 Galileo EE edition (32 bit).

Install a Database

  • We will start with Derby 10 but possibly use MySQL if we run into any limitations.

Install Application Servers

Install JPA provider

  • We will be using EclipseLink 2.0 (the JEE6 RI) that is shipped with GlassFish.

Install Terracotta

  • Download Terracotta 3.2.1 open source version or use your own enterprise version of Terracotta
  • I installed to c:/opt/terracotta321 by running the executable terracotta-3.2.1-installer.jar.
  • Follow instructions in INSTALL.TXT.

Hello World Testing

  • Start the local Terracotta server by running bin/start-tc-server.bat.
  • You should see the following screen...

Terracotta 321 developer console cap.JPG

Design Issues

Open Issues

References

External Documentation

Back to the top