User: oberg   
  Date: 00/05/31 07:37:25

  Modified:    src/main/org/jboss/ejb/plugins
                        SingletonStatelessSessionInstancePool.java
  Log:
  Added synchronization option to singleton pool, and fixed stateless session method 
mapping procedure
  
  Revision  Changes    Path
  1.2       +7 -2      
jboss/src/main/org/jboss/ejb/plugins/SingletonStatelessSessionInstancePool.java
  
  Index: SingletonStatelessSessionInstancePool.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/SingletonStatelessSessionInstancePool.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SingletonStatelessSessionInstancePool.java        2000/04/22 14:30:12     1.1
  +++ SingletonStatelessSessionInstancePool.java        2000/05/31 14:37:25     1.2
  @@ -16,13 +16,15 @@
   import org.jboss.ejb.EnterpriseContext;
   import org.jboss.ejb.StatelessSessionEnterpriseContext;
   
  +import org.jboss.ejb.deployment.SingletonStatelessSessionInstancePoolConfiguration;
  +
   /**
    *   Singleton pool for session beans. This lets you have
    * singletons in EJB!
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class SingletonStatelessSessionInstancePool
      implements InstancePool
  @@ -34,6 +36,7 @@
      
      EnterpriseContext ctx;
      boolean inUse = false;
  +   boolean isSynchronized = true;
      
      // Static --------------------------------------------------------
      
  @@ -55,6 +58,8 @@
      public void init()
         throws Exception
      {
  +        SingletonStatelessSessionInstancePoolConfiguration conf = 
(SingletonStatelessSessionInstancePoolConfiguration)con.getMetaData().getContainerConfiguration().getInstancePoolConfiguration();
  +        isSynchronized = conf.getSynchronized();
      }
      
      public void start()
  @@ -80,7 +85,7 @@
         throws RemoteException
      {
         // Wait while someone else is using it
  -      while(inUse)
  +      while(inUse && isSynchronized)
         {
            try { this.wait(); } catch (InterruptedException e) {}
         }
  
  
  

Reply via email to