package org.jboss.test.jca.ejb;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.TransactionRolledbackLocalException;
import javax.naming.InitialContext;
import javax.transaction.TransactionRolledbackException;
import org.apache.log4j.Logger;
import org.jboss.test.jca.interfaces.XAExceptionSession;
import org.jboss.test.jca.interfaces.XAExceptionSessionHome;
import org.jboss.test.jca.interfaces.XAExceptionSessionLocal;
import org.jboss.test.jca.interfaces.XAExceptionSessionLocalHome;
public class XAExceptionTestSessionBean implements SessionBean {
private Logger log = Logger.getLogger(getClass().getName());
public void ejbCreate()
{
}
public void testXAExceptionToTransactionRolledbackException()
{
try
{
XAExceptionSessionHome xh = (XAExceptionSessionHome)new InitialContext().lookup("test/XAExceptionSessionHome");
XAExceptionSession x = xh.create();
try
{
x.testXAExceptionToTransactionRolledbackException();
}
catch (TransactionRolledbackException tre)
{
System.out.println("Test worked");
return;
} }
catch (Exception e)
{
log.info("unexpected exception", e);
throw new EJBException("Unexpected exception: " + e);
} throw new EJBException("No exception");
}
public void testXAExceptionToTransactionRolledbackLocalException()
{
try
{
XAExceptionSessionLocalHome xh = (XAExceptionSessionLocalHome)new InitialContext().lookup("test/XAExceptionSessionLocalHome");
XAExceptionSessionLocal x = xh.create();
try
{
x.testXAExceptionToTransactionRolledbackException();
}
catch (TransactionRolledbackLocalException tre)
{
log.info("Test worked");
return;
} }
catch (Exception e)
{
log.info("unexpected exception", e);
throw new EJBException("Unexpected exception: " + e);
} throw new EJBException("No exception");
}
public void testRMERRInOnePCToTransactionRolledbackException()
{
try
{
XAExceptionSessionHome xh = (XAExceptionSessionHome)new InitialContext().lookup("test/XAExceptionSessionHome");
XAExceptionSession x = xh.create();
try
{
x.testRMERRInOnePCToTransactionRolledbackException();
}
catch (TransactionRolledbackException tre)
{
System.out.println("Test worked");
return;
} }
catch (Exception e)
{
log.info("unexpected exception", e);
throw new EJBException("Unexpected exception: " + e);
} throw new EJBException("No exception");
}
public void testXAExceptionToTransactionRolledbacLocalkException()
{
try
{
XAExceptionSessionLocalHome xh = (XAExceptionSessionLocalHome)new InitialContext().lookup("test/XAExceptionSessionLocalHome");
XAExceptionSessionLocal x = xh.create();
try
{
x.testRMERRInOnePCToTransactionRolledbackException();
}
catch (TransactionRolledbackLocalException tre)
{
log.info("Test worked");
return;
} }
catch (Exception e)
{
log.info("unexpected exception", e);
throw new EJBException("Unexpected exception: " + e);
} throw new EJBException("No exception");
}
public void ejbActivate()
{
}
public void ejbPassivate()
{
}
public void ejbRemove()
{
}
public void setSessionContext(SessionContext ctx)
{
}
public void unsetSessionContext()
{
}
}