Uploaded image for project: 'Spring Data Geode'
  1. Spring Data Geode
  2. DATAGEODE-16

Add support for Geode JCA ResourceAdapter

    XMLWordPrintable

    Details

      Description

      When Pivotal GemFire is used inside a JTA/CMT Transaction running in a "managed" environment (i.e. Java EE Application Server, e.g. WebSphere Application Server (WAS)) and the application coordinates GemFire with another XA resource (e.g. JMS Message Broker), then GemFire must be configured and used as the "Last Resource" in the JTA Transaction since GemFire is not XA-compliant.

      This is described in GemFire's User Guide here.

      The setup and configuration a user must following, both when configuring GemFire in "managed" environment as well as steps to code their GemFire cache application, is here.

      An example of what the developer must do in code is here.

      > NOTE: you must also configure and deploy GemFire's JCA Resource Adapter in your Java EE AS of choice.

      The task of this JIRA "improvement" is to simplify the configuration of a Spring GemFire cache client application when using Spring's Transaction Management infrastructure to properly coordinate with the JTA Transaction using the GemFire JCA ResourceAdapter in order to position GemFire as the "Last Resource".

      This "improvement" will include a new SDG Annotation (part of the new Annotation-based configuration model) and a couple of Spring Aspects to support the proper sequence and coordination in the Spring "managed" CMT/JTA Transaction.

      See attached source files for preview of the addition.

        Attachments

          Activity

            People

            Assignee:
            jblum John Blum
            Reporter:
            jblum John Blum
            Last updater:
            Spring Issues Spring Issues
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Due:
              Created:
              Updated:
              Resolved: