Index: impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java =================================================================== --- impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java (revision 53248) +++ impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java (working copy) @@ -41,6 +41,7 @@ import java.util.Stack; import java.util.TreeSet; import java.util.Vector; +import java.util.concurrent.atomic.AtomicInteger; import java.net.URLEncoder; import org.apache.commons.logging.Log; @@ -3826,7 +3827,7 @@ public static final String SCHEMA_PREFIX = "schema."; - protected static Integer m_nextSerialNumber; + protected static AtomicInteger m_nextSerialNumber; /* * RIS MAPPINGS below @@ -4492,7 +4493,7 @@ public void init() { m_storage = newStorage(); - m_nextSerialNumber = new Integer(0); + m_nextSerialNumber = new AtomicInteger(0); m_relativeAccessPoint = CitationService.REFERENCE_ROOT; @@ -5195,14 +5196,7 @@ */ protected Integer nextSerialNumber() { - Integer number; - synchronized (m_nextSerialNumber) - { - number = m_nextSerialNumber; - m_nextSerialNumber = new Integer(number.intValue() + 1); - } - - return number; + return m_nextSerialNumber.getAndIncrement(); } /*