You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2007/04/27 15:31:58 UTC
svn commit: r533091 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
Author: stefan
Date: Fri Apr 27 06:31:57 2007
New Revision: 533091
URL: http://svn.apache.org/viewvc?view=rev&rev=533091
Log:
JCR-862: unsynchronized access on 'itemCache' map in ItemManager
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java?view=diff&rev=533091&r1=533090&r2=533091
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java Fri Apr 27 06:31:57 2007
@@ -120,7 +120,7 @@
/**
* Disposes this <code>ItemManager</code> and frees resources.
*/
- void dispose() {
+ synchronized void dispose() {
itemCache.clear();
}
@@ -596,7 +596,7 @@
* @return the item reference stored in the corresponding cache entry
* or <code>null</code> if there's no corresponding cache entry.
*/
- private ItemImpl retrieveItem(ItemId id) {
+ private synchronized ItemImpl retrieveItem(ItemId id) {
return (ItemImpl) itemCache.get(id);
}
@@ -606,7 +606,7 @@
*
* @param item the item to cache
*/
- private void cacheItem(ItemImpl item) {
+ private synchronized void cacheItem(ItemImpl item) {
ItemId id = item.getId();
if (itemCache.containsKey(id)) {
log.warn("overwriting cached item " + id);
@@ -622,7 +622,7 @@
*
* @param id id of the item to remove from the cache
*/
- private void evictItem(ItemId id) {
+ private synchronized void evictItem(ItemId id) {
if (log.isDebugEnabled()) {
log.debug("removing item " + id + " from cache");
}
@@ -704,7 +704,7 @@
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
+ public synchronized void dump(PrintStream ps) {
ps.println("ItemManager (" + this + ")");
ps.println();
ps.println("Items in cache:");
@@ -732,7 +732,7 @@
/**
* {@inheritDoc}
*/
- public synchronized void stateCreated(ItemState created) {
+ public void stateCreated(ItemState created) {
ItemImpl item = retrieveItem(created.getId());
if (item != null) {
item.stateCreated(created);
@@ -742,7 +742,7 @@
/**
* {@inheritDoc}
*/
- public synchronized void stateModified(ItemState modified) {
+ public void stateModified(ItemState modified) {
ItemImpl item = retrieveItem(modified.getId());
if (item != null) {
item.stateModified(modified);
@@ -752,7 +752,7 @@
/**
* {@inheritDoc}
*/
- public synchronized void stateDestroyed(ItemState destroyed) {
+ public void stateDestroyed(ItemState destroyed) {
ItemImpl item = retrieveItem(destroyed.getId());
if (item != null) {
item.stateDestroyed(destroyed);
@@ -762,7 +762,7 @@
/**
* {@inheritDoc}
*/
- public synchronized void stateDiscarded(ItemState discarded) {
+ public void stateDiscarded(ItemState discarded) {
ItemImpl item = retrieveItem(discarded.getId());
if (item != null) {
item.stateDiscarded(discarded);