User: schaefera
Date: 01/07/20 13:07:16
Modified:src/main/org/jboss/ejb/plugins AbstractInstanceCache.java
AbstractInstancePool.java
BMPPersistenceManager.java
CMPPersistenceManager.java EntityInstancePool.java
LRUEnterpriseContextCachePolicy.java
LogInterceptor.java
MessageDrivenInstanceInterceptor.java
MessageDrivenInstancePool.java
MessageDrivenTxInterceptorBMT.java
MetricsInterceptor.java SecurityInterceptor.java
SecurityProxyInterceptor.java
SingletonStatelessSessionInstancePool.java
StatefulSessionInstanceInterceptor.java
StatefulSessionInstancePool.java
StatelessSessionInstancePool.java
TxInterceptorBMT.java TxInterceptorCMT.java
Log:
Added Statistics Gathering for Entity Beans according to the JBoss
Management. The main idea is to add StatisticsProvider Interface to
all components delivering this data.
Revision ChangesPath
1.15 +8 -1 jboss/src/main/org/jboss/ejb/plugins/AbstractInstanceCache.java
Index: AbstractInstanceCache.java
===
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/AbstractInstanceCache.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- AbstractInstanceCache.java2001/07/04 22:45:56 1.14
+++ AbstractInstanceCache.java2001/07/20 20:07:15 1.15
@@ -61,7 +61,7 @@
* @author Bill Burke
* @author Marc Fleury
*
-* @version $Revision: 1.14 $
+* @version $Revision: 1.15 $
*
* Revisions:
*
@@ -117,6 +117,13 @@
}
}
}
+ public Map retrieveStatistic()
+ {
+return null;
+ }
+ public void resetStatistic()
+ {
+ }
// Public
public void setJMSMonitoringEnabled(boolean enable) {m_jmsMonitoring = enable;}
1.13 +41 -3 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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- AbstractInstancePool.java 2001/07/04 22:48:50 1.12
+++ AbstractInstancePool.java 2001/07/20 20:07:15 1.13
@@ -24,22 +24,31 @@
import org.jboss.metadata.XmlLoadable;
import org.jboss.logging.Logger;
+import org.jboss.management.JBossCountStatistic;
/**
-*
+*
+*Abstract Instance Pool class containing the basic logic to create
+* an EJB Instance Pool.
+*
*
*@see
*@author mailto:[EMAIL PROTECTED]";>Rickard Öberg
*@author mailto:[EMAIL PROTECTED]";>Marc Fleury
+* @author mailto:[EMAIL PROTECTED]";>Andreas Schaefer
*
-* @version $Revision: 1.12 $
+* @version $Revision: 1.13 $
*
* Revisions:
* 20010704 marcf:
*
* - Pools if used, do not reuse but restock the pile with fresh instances
*
+* 20010709 andreas schaefer:
+*
+* - Added statistics gathering
+*
*/
public abstract class AbstractInstancePool
implements InstancePool, XmlLoadable
@@ -52,6 +61,13 @@
Stack pool = new Stack();
int maxSize = 30;
+ /** Counter of all the Bean instantiated within the Pool **/
+ protected JBossCountStatistic mInstantiate = new JBossCountStatistic(
"Instantiation", "", "Beans instantiated in Pool" );
+ /** Counter of all the Bean destroyed within the Pool **/
+ protected JBossCountStatistic mDestroy = new JBossCountStatistic( "Destroy", "",
"Beans destroyed in Pool" );
+ /** Counter of all the ready Beans within the Pool (which are not used now) **/
+ protected JBossCountStatistic mReadyBean = new JBossCountStatistic( "ReadyBean",
"", "Numbers of ready Bean Pool" );
+
// Static
// Constructors --
@@ -69,6 +85,11 @@
this.container = c;
}
+ /**
+ *
+ * @return Callback to the container which can be null if not set proviously
+ *
+ **/
public Container getContainer()
{
return container;
@@ -106,6 +127,7 @@
if (!pool.empty())
{
+ mReadyBean.remove();
return (EnterpriseContext)pool.pop();
} else
{
@@ -142,7