From 1956a1db1a5709ea2fdd95ee5dfc8c521f461d9f Mon Sep 17 00:00:00 2001 From: "Carlos A. Munoz" Date: Mon, 25 Aug 2014 13:27:00 +1000 Subject: [PATCH] Use a jndi configured infinispan cache instead of ehcahce. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Need to add this to standalone.xml’s infinispan cache container: jndi-name="java:jboss/infinispan/container/hibernate" start="EAGER" --- .../src/main/java/org/zanata/model/HAccount.java | 10 +++++----- .../org/zanata/model/HAccountResetPasswordKey.java | 2 +- .../main/java/org/zanata/model/HCopyTransOptions.java | 2 +- .../src/main/java/org/zanata/model/HDocument.java | 2 +- .../src/main/java/org/zanata/model/HGlossaryEntry.java | 2 +- .../src/main/java/org/zanata/model/HGlossaryTerm.java | 2 +- .../src/main/java/org/zanata/model/HLocale.java | 4 ++-- .../src/main/java/org/zanata/model/HPerson.java | 2 +- .../src/main/java/org/zanata/model/HProject.java | 6 +++--- .../main/java/org/zanata/model/HProjectIteration.java | 2 +- .../java/org/zanata/model/HRoleAssignmentRule.java | 2 +- .../src/main/java/org/zanata/model/HSimpleComment.java | 2 +- .../src/main/java/org/zanata/model/HTermComment.java | 2 +- .../src/main/java/org/zanata/model/HTextFlow.java | 4 ++-- .../main/java/org/zanata/model/HTextFlowTarget.java | 2 +- .../org/zanata/model/HTextFlowTargetReviewComment.java | 2 +- .../src/main/java/org/zanata/model/po/HPoHeader.java | 2 +- .../main/java/org/zanata/model/po/HPoTargetHeader.java | 2 +- .../main/java/org/zanata/model/po/HPotEntryData.java | 2 +- .../WEB-INF/classes/META-INF/persistence.xml | 5 ++++- 20 files changed, 31 insertions(+), 28 deletions(-) diff --git a/zanata-model/src/main/java/org/zanata/model/HAccount.java b/zanata-model/src/main/java/org/zanata/model/HAccount.java index f06f6aebef..a078e3b1bc 100644 --- a/zanata-model/src/main/java/org/zanata/model/HAccount.java +++ b/zanata-model/src/main/java/org/zanata/model/HAccount.java @@ -64,7 +64,7 @@ * */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Table(uniqueConstraints = @UniqueConstraint(columnNames = "username")) @Indexed @Setter @@ -86,21 +86,21 @@ public class HAccount extends ModelEntityBase implements Serializable { private HAccount mergedInto; private Map editorOptions; - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.LAZY, mappedBy = "account") public HAccountActivationKey getAccountActivationKey() { return accountActivationKey; } - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @OneToOne(cascade = CascadeType.REMOVE, fetch = FetchType.LAZY, mappedBy = "account") public HAccountResetPasswordKey getAccountResetPasswordKey() { return accountResetPasswordKey; } - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @OneToOne(mappedBy = "account", cascade = CascadeType.ALL) public HPerson getPerson() { return person; @@ -134,7 +134,7 @@ public String getApiKey() { return apiKey; } - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @UserRoles @ManyToMany(targetEntity = HAccountRole.class) @JoinTable(name = "HAccountMembership", joinColumns = @JoinColumn( diff --git a/zanata-model/src/main/java/org/zanata/model/HAccountResetPasswordKey.java b/zanata-model/src/main/java/org/zanata/model/HAccountResetPasswordKey.java index f0bb804535..e5996096d8 100644 --- a/zanata-model/src/main/java/org/zanata/model/HAccountResetPasswordKey.java +++ b/zanata-model/src/main/java/org/zanata/model/HAccountResetPasswordKey.java @@ -28,7 +28,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy; @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) public class HAccountResetPasswordKey extends AccountKeyBase implements Serializable { diff --git a/zanata-model/src/main/java/org/zanata/model/HCopyTransOptions.java b/zanata-model/src/main/java/org/zanata/model/HCopyTransOptions.java index 836bad7025..25139d2e36 100644 --- a/zanata-model/src/main/java/org/zanata/model/HCopyTransOptions.java +++ b/zanata-model/src/main/java/org/zanata/model/HCopyTransOptions.java @@ -43,7 +43,7 @@ @Entity @TypeDef(name = "conditionRuleAction", typeClass = ConditionRuleActionType.class) -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @NoArgsConstructor @AllArgsConstructor diff --git a/zanata-model/src/main/java/org/zanata/model/HDocument.java b/zanata-model/src/main/java/org/zanata/model/HDocument.java index 22b3a3d16d..acf84db49a 100644 --- a/zanata-model/src/main/java/org/zanata/model/HDocument.java +++ b/zanata-model/src/main/java/org/zanata/model/HDocument.java @@ -82,7 +82,7 @@ */ @Entity @EntityListeners({HDocument.EntityListener.class}) -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @TypeDef(name = "contentType", typeClass = ContentTypeType.class) @Setter @NoArgsConstructor diff --git a/zanata-model/src/main/java/org/zanata/model/HGlossaryEntry.java b/zanata-model/src/main/java/org/zanata/model/HGlossaryEntry.java index 55ce90816f..36af247a92 100644 --- a/zanata-model/src/main/java/org/zanata/model/HGlossaryEntry.java +++ b/zanata-model/src/main/java/org/zanata/model/HGlossaryEntry.java @@ -50,7 +50,7 @@ * **/ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Indexed @Setter @EqualsAndHashCode(callSuper = true, doNotUseGetters = true, diff --git a/zanata-model/src/main/java/org/zanata/model/HGlossaryTerm.java b/zanata-model/src/main/java/org/zanata/model/HGlossaryTerm.java index bc012d6c21..1dbf94d71a 100644 --- a/zanata-model/src/main/java/org/zanata/model/HGlossaryTerm.java +++ b/zanata-model/src/main/java/org/zanata/model/HGlossaryTerm.java @@ -59,7 +59,7 @@ * **/ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Indexed @FullTextFilterDef(name = "glossaryLocaleFilter", impl = LocaleFilterFactory.class, diff --git a/zanata-model/src/main/java/org/zanata/model/HLocale.java b/zanata-model/src/main/java/org/zanata/model/HLocale.java index bafa69c6fc..461cf83a34 100644 --- a/zanata-model/src/main/java/org/zanata/model/HLocale.java +++ b/zanata-model/src/main/java/org/zanata/model/HLocale.java @@ -49,7 +49,7 @@ import com.ibm.icu.util.ULocale; @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @TypeDef(name = "localeId", typeClass = LocaleIdType.class) @Setter @NoArgsConstructor @@ -93,7 +93,7 @@ public void setEnabledByDefault(boolean enabledByDefault) { } @OneToMany(cascade = CascadeType.ALL, mappedBy = "id.supportedLanguage") - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) public Set getMembers() { if (this.members == null) { this.members = new HashSet(); diff --git a/zanata-model/src/main/java/org/zanata/model/HPerson.java b/zanata-model/src/main/java/org/zanata/model/HPerson.java index c8091cea07..07f47e7a09 100644 --- a/zanata-model/src/main/java/org/zanata/model/HPerson.java +++ b/zanata-model/src/main/java/org/zanata/model/HPerson.java @@ -51,7 +51,7 @@ * */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @EqualsAndHashCode(callSuper = true, of = { "id", "email", "name" }, doNotUseGetters = true) diff --git a/zanata-model/src/main/java/org/zanata/model/HProject.java b/zanata-model/src/main/java/org/zanata/model/HProject.java index 072bb10f88..b95ba2dec1 100644 --- a/zanata-model/src/main/java/org/zanata/model/HProject.java +++ b/zanata-model/src/main/java/org/zanata/model/HProject.java @@ -74,7 +74,7 @@ * */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Access(AccessType.FIELD) @TypeDef(name = "entityStatus", typeClass = EntityStatusType.class) @Restrict @@ -128,7 +128,7 @@ public class HProject extends SlugEntityBase implements Serializable, @JoinTable(name = "HProject_Maintainer", joinColumns = @JoinColumn( name = "projectId"), inverseJoinColumns = @JoinColumn( name = "personId")) - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) private Set maintainers = Sets.newHashSet(); @ManyToMany @@ -145,7 +145,7 @@ public class HProject extends SlugEntityBase implements Serializable, private Map customizedValidations = Maps.newHashMap(); @OneToMany(mappedBy = "project") - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) private List projectIterations = Lists.newArrayList(); @Type(type = "entityStatus") diff --git a/zanata-model/src/main/java/org/zanata/model/HProjectIteration.java b/zanata-model/src/main/java/org/zanata/model/HProjectIteration.java index 8377a40495..c6cda25b7d 100644 --- a/zanata-model/src/main/java/org/zanata/model/HProjectIteration.java +++ b/zanata-model/src/main/java/org/zanata/model/HProjectIteration.java @@ -75,7 +75,7 @@ import com.google.common.collect.Sets; @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @TypeDef(name = "entityStatus", typeClass = EntityStatusType.class) @Restrict @EntityRestrict({ INSERT, UPDATE, DELETE }) diff --git a/zanata-model/src/main/java/org/zanata/model/HRoleAssignmentRule.java b/zanata-model/src/main/java/org/zanata/model/HRoleAssignmentRule.java index 59dd242578..5fec79e6d3 100644 --- a/zanata-model/src/main/java/org/zanata/model/HRoleAssignmentRule.java +++ b/zanata-model/src/main/java/org/zanata/model/HRoleAssignmentRule.java @@ -38,7 +38,7 @@ * href="mailto:camunoz@redhat.com">camunoz@redhat.com */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @ToString(callSuper = true) public class HRoleAssignmentRule extends ModelEntityBase { diff --git a/zanata-model/src/main/java/org/zanata/model/HSimpleComment.java b/zanata-model/src/main/java/org/zanata/model/HSimpleComment.java index 7511281713..11632a2c06 100644 --- a/zanata-model/src/main/java/org/zanata/model/HSimpleComment.java +++ b/zanata-model/src/main/java/org/zanata/model/HSimpleComment.java @@ -50,7 +50,7 @@ */ @Entity @EntityListeners({ HSimpleComment.EntityListener.class }) -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @BatchSize(size = 20) @Setter @NoArgsConstructor diff --git a/zanata-model/src/main/java/org/zanata/model/HTermComment.java b/zanata-model/src/main/java/org/zanata/model/HTermComment.java index a1cbec40bd..f7056523b8 100644 --- a/zanata-model/src/main/java/org/zanata/model/HTermComment.java +++ b/zanata-model/src/main/java/org/zanata/model/HTermComment.java @@ -45,7 +45,7 @@ * **/ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @NoArgsConstructor @ToString(of = "comment") diff --git a/zanata-model/src/main/java/org/zanata/model/HTextFlow.java b/zanata-model/src/main/java/org/zanata/model/HTextFlow.java index 7ca8078b15..e7aa7c6417 100644 --- a/zanata-model/src/main/java/org/zanata/model/HTextFlow.java +++ b/zanata-model/src/main/java/org/zanata/model/HTextFlow.java @@ -86,7 +86,7 @@ */ @Entity @EntityListeners({ HTextFlow.EntityListener.class }) -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @NoArgsConstructor @ToString(of = { "resId", "revision", "comment", "obsolete" }) @@ -376,7 +376,7 @@ public Map getHistory() { @OneToMany(cascade = CascadeType.ALL, mappedBy = "textFlow") @MapKeyColumn(name = "locale") @BatchSize(size = 10) - @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) + @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) public Map getTargets() { if (targets == null) { targets = new HashMap(); diff --git a/zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java b/zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java index 3ead98305d..571246c4ea 100644 --- a/zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java +++ b/zanata-model/src/main/java/org/zanata/model/HTextFlowTarget.java @@ -83,7 +83,7 @@ */ @Entity @EntityListeners({ HTextFlowTarget.EntityListener.class }) -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Indexed @Setter @NoArgsConstructor diff --git a/zanata-model/src/main/java/org/zanata/model/HTextFlowTargetReviewComment.java b/zanata-model/src/main/java/org/zanata/model/HTextFlowTargetReviewComment.java index 079ed003de..19573e8f3b 100644 --- a/zanata-model/src/main/java/org/zanata/model/HTextFlowTargetReviewComment.java +++ b/zanata-model/src/main/java/org/zanata/model/HTextFlowTargetReviewComment.java @@ -49,7 +49,7 @@ */ @Entity @Immutable -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @BatchSize(size = 20) @NoArgsConstructor(access = AccessLevel.PROTECTED) @Access(AccessType.FIELD) diff --git a/zanata-model/src/main/java/org/zanata/model/po/HPoHeader.java b/zanata-model/src/main/java/org/zanata/model/po/HPoHeader.java index 382ea5ef62..295dfcb01b 100644 --- a/zanata-model/src/main/java/org/zanata/model/po/HPoHeader.java +++ b/zanata-model/src/main/java/org/zanata/model/po/HPoHeader.java @@ -33,7 +33,7 @@ * @see org.zanata.rest.dto.extensions.gettext.PoHeader */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @ToString(callSuper = true) public class HPoHeader extends PoHeaderBase { private static final long serialVersionUID = 1L; diff --git a/zanata-model/src/main/java/org/zanata/model/po/HPoTargetHeader.java b/zanata-model/src/main/java/org/zanata/model/po/HPoTargetHeader.java index c73618e246..039fc295db 100644 --- a/zanata-model/src/main/java/org/zanata/model/po/HPoTargetHeader.java +++ b/zanata-model/src/main/java/org/zanata/model/po/HPoTargetHeader.java @@ -39,7 +39,7 @@ * @see org.zanata.rest.dto.extensions.gettext.PoTargetHeader */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @Setter @ToString(callSuper = true, of = "targetLanguage") public class HPoTargetHeader extends PoHeaderBase { diff --git a/zanata-model/src/main/java/org/zanata/model/po/HPotEntryData.java b/zanata-model/src/main/java/org/zanata/model/po/HPotEntryData.java index 1591e30cc0..da36cd85be 100644 --- a/zanata-model/src/main/java/org/zanata/model/po/HPotEntryData.java +++ b/zanata-model/src/main/java/org/zanata/model/po/HPotEntryData.java @@ -47,7 +47,7 @@ * @see org.zanata.rest.dto.extensions.gettext.PotEntryHeader */ @Entity -@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) +@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL) @BatchSize(size = 20) @Setter public class HPotEntryData implements Serializable { diff --git a/zanata-war/src/main/webapp-jboss/WEB-INF/classes/META-INF/persistence.xml b/zanata-war/src/main/webapp-jboss/WEB-INF/classes/META-INF/persistence.xml index 0a73c75e7b..4ffcabce0d 100644 --- a/zanata-war/src/main/webapp-jboss/WEB-INF/classes/META-INF/persistence.xml +++ b/zanata-war/src/main/webapp-jboss/WEB-INF/classes/META-INF/persistence.xml @@ -49,6 +49,8 @@ org.zanata.model.tm.TransMemoryUnitVariant org.zanata.model.tm.TransMemory + ENABLE_SELECTIVE + + value="org.hibernate.cache.infinispan.JndiInfinispanRegionFactory" /> +