RMEImpl.java

00001 /*
00002  * JOnAS: Java(TM) Open Application Server
00003  * Copyright (C) 1999 Bull S.A.
00004  * Contact: jonas-team@objectweb.org
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
00019  * USA
00020  *
00021  * --------------------------------------------------------------------------
00022  * $Id: RMEImpl.java,v 1.7 2004/10/29 23:33:37 ehardesty Exp $
00023  * --------------------------------------------------------------------------
00024  */
00025 
00026 package org.objectweb.jonas.resource;
00027 
00028 import javax.resource.ResourceException;
00029 import javax.transaction.Transaction;
00030 import javax.transaction.RollbackException;
00031 import javax.transaction.SystemException;
00032 import org.objectweb.transaction.jta.ResourceManagerEvent;
00033 import org.objectweb.util.monolog.api.BasicLevel;
00034 import org.objectweb.util.monolog.api.Logger;
00035 
00044 class RMEImpl implements ResourceManagerEvent {
00048     private MCInfo mci = null;
00052     private Logger trace = null;
00059     protected boolean isValid = false;
00060 
00068     public RMEImpl(MCInfo mci, Logger trace) {
00069         this.mci = mci;
00070         this.trace = trace;
00071     }
00072 
00073 
00079     public boolean equals(Object o) {
00080         return (o instanceof RMEImpl) && mci.equals(((RMEImpl) o).mci);
00081     }
00082 
00083 
00090     public void enlistConnection(Transaction tx) throws SystemException {
00091         try {
00092             if (isValid) {
00093                 trace.log(BasicLevel.DEBUG, "Enlist the XA Resource " + mci.getXAResource()
00094                           + " in Tx:" + tx);
00095                 tx.enlistResource(mci.getXAResource());
00096             }
00097         } catch (RollbackException rbe) {
00098             throw new SystemException(rbe.getMessage());
00099         } catch (ResourceException re) {
00100             throw new SystemException(re.getMessage());
00101         }
00102     }
00103 }

Generated on Tue Feb 15 15:05:21 2005 for JOnAS by  doxygen 1.3.9.1