User: slaboure
Date: 01/09/20 12:30:45
Modified: src/main/org/jboss/ejb/plugins AbstractInstancePool.java
EntityInstancePool.java
MessageDrivenInstancePool.java
StatelessSessionInstancePool.java
Log:
Instance pooling activated for SLSB and MDB
Revision Changes Path
1.17 +30 -4 jboss/src/main/org/jboss/ejb/plugins/AbstractInstancePool.java
Index: AbstractInstancePool.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/AbstractInstancePool.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- AbstractInstancePool.java 2001/09/01 19:50:30 1.16
+++ AbstractInstancePool.java 2001/09/20 19:30:45 1.17
@@ -36,8 +36,9 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Rickard Öberg</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Sacha Labourey</a>
*
-* @version $Revision: 1.16 $
+* @version $Revision: 1.17 $
*
* <p><b>Revisions:</b>
* <p><b>20010704 marcf:</b>
@@ -48,6 +49,10 @@
* <ul>
* <li>- Added statistics gathering
* </ul>
+* <p><b>20010920 Sacha Labourey:</b>
+* <ul>
+* <li>- Pooling made optional and only activated in concrete subclasses for SLSB
and MDB
+* </ul>
*/
public abstract class AbstractInstancePool
implements InstancePool, XmlLoadable
@@ -66,7 +71,10 @@
protected CountStatistic mDestroy = new CountStatistic( "Destroy", "", "Beans
destroyed in Pool" );
/** Counter of all the ready Beans within the Pool (which are not used now) **/
protected CountStatistic mReadyBean = new CountStatistic( "ReadyBean", "",
"Numbers of ready Bean Pool" );
-
+
+ // determine if we reuse EnterpriseContext objects i.e. if we actually do pooling
+ protected boolean reclaim = false;
+
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
@@ -111,6 +119,16 @@
public void destroy()
{
}
+
+ public boolean getReclaim()
+ {
+ return reclaim;
+ }
+
+ public void setReclaim(boolean reclaim)
+ {
+ this.reclaim = reclaim;
+ }
/**
* Get an instance without identity.
@@ -161,10 +179,18 @@
if (pool.size() < maxSize)
{
- // We do not reuse but create a brand new instance simplifies the design
+ // If (!reclaim), we do not reuse but create a brand new instance
simplifies the design
try {
mReadyBean.add();
- pool.push(create(container.createBeanClassInstance()));
+ if (this.reclaim)
+ {
+ pool.push(ctx);
+ }
+ else
+ {
+ discard (ctx);
+ pool.push(create(container.createBeanClassInstance()));
+ }
} catch (Exception ignored) {}
//pool.push(ctx);
} else
1.15 +7 -13 jboss/src/main/org/jboss/ejb/plugins/EntityInstancePool.java
Index: EntityInstancePool.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/EntityInstancePool.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- EntityInstancePool.java 2001/08/09 20:27:54 1.14
+++ EntityInstancePool.java 2001/09/20 19:30:45 1.15
@@ -21,13 +21,19 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Rickard Öberg</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
- * @version $Revision: 1.14 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Sacha Labourey</a>
+ * @version $Revision: 1.15 $
*
* <p><b>Revisions:</b>
* <p><b>20010718 andreas schaefer:</b>
* <ul>
* <li>- Added statistics gathering
* </ul>
+* <p><b>20010920 Sacha Labourey:</b>
+* <ul>
+* <li>- Moved "reclaim" flag (set by Bill Burke) to the AbstractInstancePool level.
+* It can now be used for SLSB and MDB (pooling activated)
+* </ul>
*/
public class EntityInstancePool
extends AbstractInstancePool
@@ -51,18 +57,6 @@
*
* @param ctx
*/
- private boolean reclaim = false;
-
- public boolean getReclaim()
- {
- return reclaim;
- }
-
- public void setReclaim(boolean reclaim)
- {
- this.reclaim = reclaim;
- }
-
public synchronized void free(EnterpriseContext ctx)
{
// If transaction still present don't do anything (let the instance be GC)
1.7 +9 -1
jboss/src/main/org/jboss/ejb/plugins/MessageDrivenInstancePool.java
Index: MessageDrivenInstancePool.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/MessageDrivenInstancePool.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MessageDrivenInstancePool.java 2001/08/03 17:15:44 1.6
+++ MessageDrivenInstancePool.java 2001/09/20 19:30:45 1.7
@@ -19,13 +19,18 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Rickard Öberg</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Antman</a>.
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
- * @version $Revision: 1.6 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Sacha Labourey</a>
+ * @version $Revision: 1.7 $
*
* <p><b>Revisions:</b>
* <p><b>20010718 andreas schaefer:</b>
* <ul>
* <li>- Added Statistics Gathering
* </ul>
+* <p><b>20010920 Sacha Labourey:</b>
+* <ul>
+* <li>- Activate pooling for MDB
+* </ul>
*/
public class MessageDrivenInstancePool
extends AbstractInstancePool
@@ -44,6 +49,9 @@
public void init()
throws Exception
{
+ super.init();
+ // for MDB, we *do* pool
+ this.reclaim = true;
}
// Package protected ---------------------------------------------
1.8 +9 -1
jboss/src/main/org/jboss/ejb/plugins/StatelessSessionInstancePool.java
Index: StatelessSessionInstancePool.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/StatelessSessionInstancePool.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- StatelessSessionInstancePool.java 2001/08/03 17:15:44 1.7
+++ StatelessSessionInstancePool.java 2001/09/20 19:30:45 1.8
@@ -18,13 +18,18 @@
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Rickard Öberg</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
- * @version $Revision: 1.7 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Sacha Labourey</a>
+ * @version $Revision: 1.8 $
*
* <p><b>Revisions:</b>
* <p><b>20010718 andreas schaefer:</b>
* <ul>
* <li>- Added Statistics Gathering
* </ul>
+* <p><b>20010920 Sacha Labourey:</b>
+* <ul>
+* <li>- Activate pooling for SLSB
+* </ul>
*/
public class StatelessSessionInstancePool
extends AbstractInstancePool
@@ -43,6 +48,9 @@
public void init()
throws Exception
{
+ super.init();
+ // for SLSB, we *do* pool
+ this.reclaim = true;
}
// Package protected ---------------------------------------------
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development