View Javadoc

1   /*
2    * Copyright (c) 1998-2004 The Jgroup Team.
3    *
4    * This program is free software; you can redistribute it and/or modify
5    * it under the terms of the GNU Lesser General Public License version 2 as
6    * published by the Free Software Foundation.
7    *
8    * This program is distributed in the hope that it will be useful,
9    * but WITHOUT ANY WARRANTY; without even the implied warranty of
10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11   * GNU Lesser General Public License for more details.
12   *
13   * You should have received a copy of the GNU Lesser General Public License
14   * along with this program; if not, write to the Free Software
15   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16   *
17   */
18  package jgroup.jini.txn;
19  
20  import java.rmi.RemoteException;
21  
22  import jgroup.core.InternalGMIListener;
23  import net.jini.core.transaction.CannotCommitException;
24  import net.jini.core.transaction.UnknownTransactionException;
25  
26  /**
27   * @author Rohnny Moland
28   * @since Jgroup 2.2
29   */
30  public interface InternalGroupTransactionManager 
31    extends InternalGMIListener, java.io.Serializable
32  {
33    /**
34     * Transfers the non-deterministic state of the txn create 
35     * to other members of the group.
36     * 
37     * @param txnMgr
38     *   The <code>TxnManagerTransaction</code> object
39     * @param id
40     *   Transaction id of current transaction
41     * @throws RemoteException
42     */
43    public void internalCreate(Object txnMgr, long id)
44      throws RemoteException;
45      
46    public void internalCommit(long id)
47      throws UnknownTransactionException, CannotCommitException, RemoteException;
48  
49  }