[jboss-cvs] JBossAS SVN: r71105 - projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 20 17:39:45 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-03-20 17:39:45 -0400 (Thu, 20 Mar 2008)
New Revision: 71105

Added:
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanPool.java
Modified:
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanContainer.java
   projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/TestPooledBeanFactory.java
Log:
Have the container refer to a BeanPool and inject the BeanFactory into the BeanPool

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanContainer.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanContainer.java	2008-03-20 21:06:12 UTC (rev 71104)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanContainer.java	2008-03-20 21:39:45 UTC (rev 71105)
@@ -21,8 +21,6 @@
  */
 package org.jboss.test.kernel.deployment.support.container;
 
-import org.jboss.beans.metadata.spi.factory.BeanFactory;
-
 /**
  * @param <T> the type
  * @author Scott.Stark at jboss.org
@@ -30,25 +28,18 @@
  */
 public class BeanContainer<T>
 {
-   private BeanFactory factory;
+   private BeanPool<T> pool;
 
-   
-   public BeanFactory getFactory()
-   {
-      return factory;
-   }
-
-
-   public void setFactory(BeanFactory factory)
-   {
-      this.factory = factory;
-   }
-
-
    @SuppressWarnings("unchecked")
-   public T getBean() throws Throwable
+   public T getBean()
+      throws Throwable
    {
-      T bean = (T) factory.createBean();
+      T bean = pool.createBean();
       return bean;
    }
+   public void destroyBean(T bean)
+      throws Throwable
+   {
+      pool.destroyBean(bean);
+   }
 }

Added: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanPool.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanPool.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanPool.java	2008-03-20 21:39:45 UTC (rev 71105)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.kernel.deployment.support.container;
+
+import java.util.concurrent.ArrayBlockingQueue;
+
+import org.jboss.beans.metadata.spi.factory.BeanFactory;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class BeanPool<T>
+{
+   /** The pooling policy */
+   private ArrayBlockingQueue<T> pool;
+   private BeanFactory factory;
+   
+   public BeanFactory getFactory()
+   {
+      return factory;
+   }
+
+   public void setFactory(BeanFactory factory)
+   {
+      this.factory = factory;
+   }
+
+   public synchronized T createBean()
+      throws Throwable
+   {
+      if(pool.size() == 0)
+      {
+         // Fill the pool
+         for(int n = 0; n < pool.size(); n ++)
+         {
+            T bean = (T) factory.createBean();
+            pool.put(bean);
+         }
+      }
+      return pool.take();
+   }
+   public void destroyBean(T bean)
+      throws Throwable
+   {
+      pool.put(bean);
+   }
+}


Property changes on: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/BeanPool.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/TestPooledBeanFactory.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/TestPooledBeanFactory.java	2008-03-20 21:06:12 UTC (rev 71104)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/support/container/TestPooledBeanFactory.java	2008-03-20 21:39:45 UTC (rev 71105)
@@ -21,8 +21,6 @@
  */
 package org.jboss.test.kernel.deployment.support.container;
 
-import java.util.concurrent.ArrayBlockingQueue;
-
 import org.jboss.beans.metadata.plugins.factory.GenericBeanFactory;
 import org.jboss.kernel.spi.config.KernelConfigurator;
 
@@ -32,30 +30,8 @@
  */
 public class TestPooledBeanFactory extends GenericBeanFactory
 {
-   /** The pooling policy */
-   private ArrayBlockingQueue<Object> pool;
-
    public TestPooledBeanFactory(KernelConfigurator configurator, int size)
    {
       super(configurator);
-      pool = new ArrayBlockingQueue<Object>(size);
    }
-
-   @Override
-   public synchronized Object createBean()
-      throws Throwable
-   {
-      if(pool.size() == 0)
-      {
-         // Fill the pool
-         for(int n = 0; n < pool.size(); n ++)
-            pool.put(super.createBean());
-      }
-      return pool.take();
-   }
-   public void destroyBean(Object bean)
-      throws Exception
-   {
-      pool.put(bean);
-   }
 }




More information about the jboss-cvs-commits mailing list