User: patriot1burke
  Date: 01/07/03 15:56:51

  Modified:    src/main/org/jboss/jdbc XADataSourceLoaderMBean.java
                        XADataSourceLoader.java
  Log:
  added support for setting transaction isolation and setting the PS cache size.
  
  Revision  Changes    Path
  1.7       +43 -38    jboss/src/main/org/jboss/jdbc/XADataSourceLoaderMBean.java
  
  Index: XADataSourceLoaderMBean.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/jdbc/XADataSourceLoaderMBean.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XADataSourceLoaderMBean.java      2001/07/02 03:29:14     1.6
  +++ XADataSourceLoaderMBean.java      2001/07/03 22:56:50     1.7
  @@ -13,42 +13,47 @@
      public static final String OBJECT_NAME = ":service=XADataSource";
   
      // Public --------------------------------------------------------
  -    public void setPoolName(String name);
  -    public String getPoolName();
  -    public void setDataSourceClass(String clazz);
  -    public String getDataSourceClass();
  -    public void setURL(String url);
  -    public String getURL();
  -    public void setJDBCUser(String userName);
  -    public String getJDBCUser();
  -    public void setPassword(String password);
  -    public String getPassword();
  -    public void setProperties(String properties);
  -    public String getProperties();
  -    public void setLoggingEnabled(boolean enabled);
  -    public boolean getLoggingEnabled();
  -    public void setMinSize(int minSize);
  -    public int getMinSize();
  -    public void setMaxSize(int maxSize);
  -    public int getMaxSize();
  -    public void setBlocking(boolean blocking);
  -    public boolean getBlocking();
  -    public void setBlockingTimeout(int blockingTimeout);
  -    public int getBlockingTimeout();
  -    public void setGCEnabled(boolean gcEnabled);
  -    public boolean getGCEnabled();
  -    public void setGCInterval(long interval);
  -    public long getGCInterval();
  -    public void setGCMinIdleTime(long idleMillis);
  -    public long getGCMinIdleTime();
  -    public void setIdleTimeoutEnabled(boolean enabled);
  -    public boolean getIdleTimeoutEnabled();
  -    public void setIdleTimeout(long idleMillis);
  -    public long getIdleTimeout();
  -    public void setMaxIdleTimeoutPercent(float percent);
  -    public float getMaxIdleTimeoutPercent();
  -    public void setInvalidateOnError(boolean invalidate);
  -    public boolean getInvalidateOnError();
  -    public void setTimestampUsed(boolean timestamp);
  -    public boolean getTimestampUsed();
  +   public void setPoolName(String name);
  +   public String getPoolName();
  +   public void setDataSourceClass(String clazz);
  +   public String getDataSourceClass();
  +   public void setURL(String url);
  +   public String getURL();
  +   public void setJDBCUser(String userName);
  +   public String getJDBCUser();
  +   public void setPassword(String password);
  +   public String getPassword();
  +   public void setProperties(String properties);
  +   public String getProperties();
  +   public void setLoggingEnabled(boolean enabled);
  +   public boolean getLoggingEnabled();
  +   public void setMinSize(int minSize);
  +   public int getMinSize();
  +   public void setMaxSize(int maxSize);
  +   public int getMaxSize();
  +   public void setBlocking(boolean blocking);
  +   public boolean getBlocking();
  +   public void setBlockingTimeout(int blockingTimeout);
  +   public int getBlockingTimeout();
  +   public void setGCEnabled(boolean gcEnabled);
  +   public boolean getGCEnabled();
  +   public void setGCInterval(long interval);
  +   public long getGCInterval();
  +   public void setGCMinIdleTime(long idleMillis);
  +   public long getGCMinIdleTime();
  +   public void setIdleTimeoutEnabled(boolean enabled);
  +   public boolean getIdleTimeoutEnabled();
  +   public void setIdleTimeout(long idleMillis);
  +   public long getIdleTimeout();
  +   public void setMaxIdleTimeoutPercent(float percent);
  +   public float getMaxIdleTimeoutPercent();
  +   public void setInvalidateOnError(boolean invalidate);
  +   public boolean getInvalidateOnError();
  +   public void setTimestampUsed(boolean timestamp);
  +   public boolean getTimestampUsed();
  +   public String getTransactionIsolation();
  +   public void setTransactionIsolation(String iso);
  +   public int getPSCacheSize();
  +   public void setPSCacheSize(int size);
  +    
   }
  
  
  
  1.19      +64 -1     jboss/src/main/org/jboss/jdbc/XADataSourceLoader.java
  
  Index: XADataSourceLoader.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/jdbc/XADataSourceLoader.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- XADataSourceLoader.java   2001/07/02 03:29:14     1.18
  +++ XADataSourceLoader.java   2001/07/03 22:56:50     1.19
  @@ -24,18 +24,21 @@
   import org.jboss.logging.LogWriter;
   import org.jboss.util.ServiceMBeanSupport;
   import org.jboss.logging.Log;
  +import java.sql.Connection;
   
   /**
    * Service that loads a JDBC 2 std. extension-compliant connection pool.  This
    * pool generates connections that are registered with the current Transaction
    * and support two-phase commit.  The constructors are called by the JMX engine
    * based on your MLET tags.
  - * @version $Revision: 1.18 $
  + * @version $Revision: 1.19 $
    * @author <a href="mailto:[EMAIL PROTECTED]";>Aaron Mulder</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>danch (Dan Christopherson)</a>
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Bill Burke</a>
    * 
    * Revision:<br>
    * 20010701 danch added support for timeout in blocking.
  + * 20010703 bill added support for transaction isolation and ps cache size.
    */
   public class XADataSourceLoader
      extends ServiceMBeanSupport
  @@ -61,6 +64,8 @@
      boolean invalidateOnError;
      boolean timestampUsed;
      int blockingTimeout;
  +   int transactionIsolation = -1; // use default of driver
  +   int psCacheSize = 10;
   
      XAPoolDataSource source;
   
  @@ -182,6 +187,52 @@
         return blockingTimeout;
      }
      
  +   public void setTransactionIsolation(String iso) 
  +   {
  +      if (iso.equals("TRANSACTION_NONE"))
  +      {
  +         this.transactionIsolation = Connection.TRANSACTION_NONE;
  +      }
  +      else if (iso.equals("TRANSACTION_READ_COMMITTED"))
  +      {
  +         this.transactionIsolation = Connection.TRANSACTION_READ_COMMITTED;
  +      }
  +      else if (iso.equals("TRANSACTION_READ_UNCOMMITTED"))
  +      {
  +         this.transactionIsolation = Connection.TRANSACTION_READ_UNCOMMITTED;
  +      }
  +      else if (iso.equals("TRANSACTION_REPEATABLE_READ"))
  +      {
  +         this.transactionIsolation = Connection.TRANSACTION_REPEATABLE_READ;
  +      }
  +      else if (iso.equals("TRANSACTION_SERIALIZABLE"))
  +      {
  +         this.transactionIsolation = Connection.TRANSACTION_SERIALIZABLE;
  +      }
  +      else
  +      {
  +         throw new IllegalArgumentException("Setting Isolation level to unknown 
state: " + iso);
  +      }
  +   }
  +   
  +   public String getTransactionIsolation() {
  +      switch (this.transactionIsolation)
  +      {
  +      case Connection.TRANSACTION_NONE:
  +         return "TRANSACTION_NONE";
  +      case Connection.TRANSACTION_READ_COMMITTED:
  +         return "TRANSACTION_READ_COMMITTED";
  +      case Connection.TRANSACTION_READ_UNCOMMITTED:
  +         return "TRANSACTION_READ_UNCOMMITTED";
  +      case Connection.TRANSACTION_REPEATABLE_READ:
  +         return "TRANSACTION_REPEATABLE_READ";
  +      case Connection.TRANSACTION_SERIALIZABLE:
  +         return "TRANSACTION_SERIALIZABLE";
  +      default:
  +         return "DEFAULT";
  +      }
  +   }
  +   
      public void setGCEnabled(boolean gcEnabled)
      {
         this.gcEnabled = gcEnabled;
  @@ -262,6 +313,16 @@
         return timestampUsed;
      }
   
  +   public int getPSCacheSize()
  +   {
  +      return psCacheSize;
  +   }
  +   
  +   public void setPSCacheSize(int size)
  +   {
  +      psCacheSize = size;
  +   }
  +
      // ServiceMBeanSupport implementation ----------------------------
      public ObjectName getObjectName(MBeanServer server, ObjectName objectName)
         throws javax.management.MalformedObjectNameException
  @@ -320,6 +381,8 @@
         getSource().setMaxIdleTimeoutPercent(maxIdleTimeoutPercent);
         getSource().setInvalidateOnError(invalidateOnError);
         getSource().setTimestampUsed(timestampUsed);
  +      getSource().setTransactionIsolation(transactionIsolation);
  +      getSource().setPSCacheSize(psCacheSize);
   
         // Initialize pool
         Context ctx = null;
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to