User: oberg   
  Date: 00/05/30 11:32:32

  Modified:    src/main/org/jboss/tm TransactionImpl.java TxManager.java
  Added:       src/main/org/jboss/tm TransactionManagerService.java
                        TransactionManagerServiceMBean.java
  Log:
  Major update. Too much to mention.
  
  Revision  Changes    Path
  1.2       +4 -4      jboss/src/main/org/jboss/tm/TransactionImpl.java
  
  Index: TransactionImpl.java
  ===================================================================
  RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/tm/TransactionImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TransactionImpl.java      2000/04/22 14:30:13     1.1
  +++ TransactionImpl.java      2000/05/30 18:32:30     1.2
  @@ -29,7 +29,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class TransactionImpl
      implements Transaction, Serializable
  @@ -53,16 +53,16 @@
      static String hostName;
      
      // Constructors --------------------------------------------------
  -   public TransactionImpl(int timeout)
  +   public TransactionImpl(TxManager tm, int timeout)
      {
  +             this(tm);
  +             
         resources = new Vector();
         sync = new Vector();
         status = Status.STATUS_ACTIVE;
         
         this.timeout = (long)timeout;
         start = System.currentTimeMillis();
  -      
  -      xid = new XidImpl((getHostName()+"/"+getNextId()).getBytes(), null);
      }
      
      public TransactionImpl(TxManager tm)
  
  
  
  1.2       +3 -3      jboss/src/main/org/jboss/tm/TxManager.java
  
  Index: TxManager.java
  ===================================================================
  RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/tm/TxManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TxManager.java    2000/04/22 14:30:13     1.1
  +++ TxManager.java    2000/05/30 18:32:31     1.2
  @@ -23,10 +23,10 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class TxManager
  -   implements TransactionManager // , TransactionManagerRemote
  +   implements TransactionManager
   {
      // Constants -----------------------------------------------------
       
  @@ -45,7 +45,7 @@
         throws NotSupportedException,SystemException
      {
   //      System.out.println("begin tx");
  -      tx.set(new TransactionImpl(this));
  +      tx.set(new TransactionImpl(this, timeOut));
      }
      
      public void commit()
  
  
  
  1.1                  jboss/src/main/org/jboss/tm/TransactionManagerService.java
  
  Index: TransactionManagerService.java
  ===================================================================
  /*
   * jBoss, the OpenSource EJB server
   *
   * Distributable under GPL license.
   * See terms of license at gnu.org.
   */
   
  package org.jboss.tm;
  
  import java.io.File;
  import java.net.URL;
  import java.rmi.server.UnicastRemoteObject;
  import java.rmi.RemoteException;
  import java.rmi.ServerException;
  import java.util.ArrayList;
  import java.util.Iterator;
  import java.util.Hashtable;
  
  import javax.naming.InitialContext;
  import javax.naming.Context;
  import javax.naming.Reference;
  import javax.naming.Name;
  import javax.naming.spi.ObjectFactory;
  
  import javax.management.MBeanServer;
  import javax.management.ObjectName;
  
  import javax.transaction.TransactionManager;
  
  import org.jboss.logging.Log;
  import org.jboss.util.ServiceMBeanSupport;
  
  /**
   *   This is a JMX service which manages the TransactionManager.
   *      The service creates it and binds a Reference to it into JNDI.
   *      
   *   @see TxManager
   *   @author Rickard �berg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public class TransactionManagerService
     extends ServiceMBeanSupport
     implements TransactionManagerServiceMBean, ObjectFactory
  {
     // Constants -----------------------------------------------------
     public static String JNDI_NAME = "TransactionManager";
      
     // Attributes ----------------------------------------------------
        MBeanServer server;
     
     // Static --------------------------------------------------------
     static TransactionManager tm;
  
     // ServiceMBeanSupport overrides ---------------------------------
     public String getName()
     {
        return "Transaction manager";
        }
     
     protected ObjectName getObjectName(MBeanServer server, ObjectName name)
        throws javax.management.MalformedObjectNameException
     {
        this.server = server;
        return new ObjectName(OBJECT_NAME);
     }
        
     protected void initService()
        throws Exception
     {
           // Create a new TM
           tm = new TxManager();
     }
        
     protected void startService()
        throws Exception
     {
                // Bind reference to TM in JNDI
           Reference ref = new Reference(tm.getClass().toString(), 
getClass().getName(), null);
           new InitialContext().bind(JNDI_NAME, ref);
     }
     
     protected void stopService()
     {
                try
                {
                        // Remove TM from JNDI
                        new InitialContext().unbind(JNDI_NAME);
                } catch (Exception e)
                {
                        log.exception(e);
                }
     }
        
        // ObjectFactory implementation ----------------------------------
        public Object getObjectInstance(Object obj,
                                  Name name,
                                  Context nameCtx,
                                  Hashtable environment)
                           throws Exception
        {
                // Return the transaction manager
                return tm;
        }
  }
  
  
  
  
  1.1                  jboss/src/main/org/jboss/tm/TransactionManagerServiceMBean.java
  
  Index: TransactionManagerServiceMBean.java
  ===================================================================
  /*
   * jBoss, the OpenSource EJB server
   *
   * Distributable under GPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.tm;
  
  /**
   *   <description> 
   *      
   *   @see <related>
   *   @author Rickard �berg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public interface TransactionManagerServiceMBean
     extends org.jboss.util.ServiceMBean
  {
     // Constants -----------------------------------------------------
     public static final String OBJECT_NAME = ":service=TransactionManager";
      
     // Public --------------------------------------------------------
  }
  
  
  

Reply via email to