[jboss-cvs] JBossAS SVN: r92642 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/cache/tree.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 20 17:13:22 EDT 2009
Author: bstansberry at jboss.com
Date: 2009-08-20 17:13:22 -0400 (Thu, 20 Aug 2009)
New Revision: 92642
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
Log:
[EJBTHREE-1898] Don't call GUID.toString() twice in get()
[EJBTHREE-1899] Use correct Fqn
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/cache/tree/StatefulTreeCache.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/cache/tree/StatefulTreeCache.java 2009-08-20 21:13:14 UTC (rev 92641)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/cache/tree/StatefulTreeCache.java 2009-08-20 21:13:22 UTC (rev 92642)
@@ -151,7 +151,8 @@
public StatefulBeanContext get(Object key, boolean markInUse) throws EJBException
{
StatefulBeanContext entry = null;
- Fqn id = getFqn(key, false);
+ String keyString = key.toString();
+ Fqn id = getFqn(keyString, key, false);
Boolean active = localActivity.get();
try
{
@@ -188,7 +189,7 @@
// Mark the Fqn telling the eviction thread not to passivate it yet.
// Note the Fqn we use is relative to the region!
- region.markNodeCurrentlyInUse(new Fqn(key.toString()), MarkInUseWaitTime);
+ region.markNodeCurrentlyInUse(getFqn(keyString, key, true), MarkInUseWaitTime);
entry.lastUsed = System.currentTimeMillis();
if (beans != null)
{
@@ -562,7 +563,11 @@
private Fqn getFqn(Object id, boolean regionRelative)
{
- String beanId = id.toString();
+ return getFqn(id.toString(), id, regionRelative);
+ }
+
+ private Fqn getFqn(String idString, Object id, boolean regionRelative)
+ {
int index;
if (id instanceof GUID)
{
@@ -570,13 +575,13 @@
}
else
{
- index = (beanId.hashCode()& 0x7FFFFFFF) % hashBuckets.length;
+ index = (idString.hashCode()& 0x7FFFFFFF) % hashBuckets.length;
}
if (regionRelative)
- return new Fqn( new Object[] {hashBuckets[index], beanId} );
+ return Fqn.fromElements(hashBuckets[index], idString);
else
- return new Fqn(cacheNode, hashBuckets[index], beanId);
+ return Fqn.fromRelativeElements(cacheNode, hashBuckets[index], idString);
}
private void cleanBeanRegion()
More information about the jboss-cvs-commits
mailing list