You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.8 KiB
Java

Reporter bean
package com.ack.j2ee.ejb.session;
import java.sql.Connection;
import java.sql.Statement;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import javax.transaction.UserTransaction;
public class ReporterBean implements SessionBean {
private SessionContext sessionContext;
public void makeStory( String criminal, boolean isGuilty ) {
UserTransaction tx = null;
Connection con = null;
try {
// create a user transaction
tx = sessionContext.getUserTransaction();
tx.begin();
// get hold of a database connection
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup( "jdbc/gangland" );
con = ds.getConnection();
con.setAutoCommit( false );
// perform the insert
Statement stmt = con.createStatement();
stmt.executeUpdate( "insert into enemies values ( '" + criminal + "')" );
tx.commit();
}
catch( Exception ex ) {
if( tx != null ) {
try {
tx.rollback();
}
catch( Exception nex ) {
ex.printStackTrace();
}
}
}
finally {
if( con != null ) {
try {
con.close();
}
catch( Exception ex ) {
ex.printStackTrace();
}
}
}
}
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext( SessionContext sessionContext ) {
this.sessionContext = sessionContext;
}
}