java.rmi.ServerException: RemoteException occurred in server thread; nested ex
ption is:
java.rmi.RemoteException: Transaction aborted; nested exception is: ja
x.transaction.RollbackException: Transaction ed for rollback.; nested exce
ion is:
javax.transaction.RollbackException: Transaction ed for rollback.
at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemExcept
n(ShutdownUtilDelegate.java:64)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
at _EmployeeHome_Stub.create(Unknown Source)
at EmployeeClient$saveEvent.actionPerformed(EmployeeClient.java:83)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:
86)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abst
ctButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonMod
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:2
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButto
istener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:34
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:319 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatch
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchTh
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:14 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:13 at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: java.rmi.RemoteException: Transaction aborted; nested exception is:
avax.transaction.RollbackException: Transaction ed for rollback.; nested e
eption is:
javax.transaction.RollbackException: Transaction ed for rollback.
at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.
va:213)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:
7)
at com.sun.ejb.containers.EJBHomeInvocationHandler.invoke(EJBHomeInvoc
ionHandler.java:194)
at $Proxy10.create(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(Reflec
veTie.java:117)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dis
tchToServant(CorbaServerRequestDispatcherImpl.java:651)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dis
tch(CorbaServerRequestDispatcherImpl.java:190)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
Request(CorbaMessageMediatorImpl.java:1653)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
(CorbaMessageMediatorImpl.java:1513)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput
orbaMessageMediatorImpl.java:895)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.ca
back(RequestMessage_1_2.java:172)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
(CorbaMessageMediatorImpl.java:668)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispa
h(SocketOrChannelConnectionImpl.java:375)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(
cketOrChannelConnectionImpl.java:284)
at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThrea
mpl.java:73)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThrea
run(ThreadPoolImpl.java:382)
Caused by: javax.transaction.RollbackException: Transaction ed for rollbac at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransac
on.java:255)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J
ETransactionManagerOpt.java:333)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.ja
:2622)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.jav
2411)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:
ption is:
java.rmi.RemoteException: Transaction aborted; nested exception is: ja
x.transaction.RollbackException: Transaction ed for rollback.; nested exce
ion is:
javax.transaction.RollbackException: Transaction ed for rollback.
at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemExcept
n(ShutdownUtilDelegate.java:64)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
at _EmployeeHome_Stub.create(Unknown Source)
at EmployeeClient$saveEvent.actionPerformed(EmployeeClient.java:83)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:
86)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abst
ctButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonMod
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:2
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButto
istener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:34
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:319 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatch
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchTh
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:14 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:13 at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: java.rmi.RemoteException: Transaction aborted; nested exception is:
avax.transaction.RollbackException: Transaction ed for rollback.; nested e
eption is:
javax.transaction.RollbackException: Transaction ed for rollback.
at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.
va:213)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:
7)
at com.sun.ejb.containers.EJBHomeInvocationHandler.invoke(EJBHomeInvoc
ionHandler.java:194)
at $Proxy10.create(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(Reflec
veTie.java:117)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dis
tchToServant(CorbaServerRequestDispatcherImpl.java:651)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dis
tch(CorbaServerRequestDispatcherImpl.java:190)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
Request(CorbaMessageMediatorImpl.java:1653)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
(CorbaMessageMediatorImpl.java:1513)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput
orbaMessageMediatorImpl.java:895)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.ca
back(RequestMessage_1_2.java:172)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleReque
(CorbaMessageMediatorImpl.java:668)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispa
h(SocketOrChannelConnectionImpl.java:375)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(
cketOrChannelConnectionImpl.java:284)
at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThrea
mpl.java:73)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThrea
run(ThreadPoolImpl.java:382)
Caused by: javax.transaction.RollbackException: Transaction ed for rollbac at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransac
on.java:255)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J
ETransactionManagerOpt.java:333)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.ja
:2622)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.jav
2411)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:
import java.rmi.RemoteException;
import javax.ejb.*;public interface EmployeeHome extends EJBHome {
public Employee create(String codecd, String codename, String codeename, String ememo) throws RemoteException, CreateException; public Employee findByPrimaryKey(String codecd) throws FinderException, RemoteException;
}
import javax.sql.*;
import java.rmi.RemoteException;
import javax.ejb.*;
import javax.naming.*;public class EmployeeEJB implements EntityBean {
private String codecd;
private String codename;
private String codeename;
private String ememo; private EntityContext context;
private Connection con;
//private String dbName = "java:comp/env/interbase/EmployeeDB";
public String getCodeName() {
return codename;
}
public String getCodeEName() {
return codeename;
}
public String getEMemo() {
return ememo;
}
public String getId() {
String ss = "Ok, sir, you see me!!";
return ss;
} //public EmployeeEJB() {} public String ejbCreate(String codecd, String codename, String codeename, String ememo) throws CreateException {
try {
insertRow(codecd, codename, codeename, ememo);
}
catch (Exception ex) {
throw new EJBException("ejbCreate: " + ex.getMessage());
}
//this.codecd = codecd;
//this.codename = codename;
//this.codeename = codeename;
//this.ememo = ememo;
return codecd;
} public String ejbFindByPrimaryKey(String primaryKey) throws FinderException {
boolean result;
try {
result = selectByPrimaryKey(primaryKey);
}
catch (Exception ex) {
throw new EJBException("ejbFindByPrimaryKey: " + ex.getMessage());
}
if (result) {
return primaryKey;
}
else {
throw new ObjectNotFoundException("Row for codecd " + primaryKey + " not found.");
}
}
public void ejbRemove() {
try {
deleteRow(codecd);
}
catch (Exception ex) {
throw new EJBException("ejbRemove: " + ex.getMessage());
}
}
public void ejbActivate() {
codecd = (String)context.getPrimaryKey();
} public void ejbPassivate() {
codecd = null;
}
public void ejbLoad() {
try {
loadRow();
}
catch (Exception ex) {
throw new EJBException("ejbLoad: " + ex.getMessage());
}
}
public void ejbStore() {
try {
storeRow();
}
catch (Exception ex) {
throw new EJBException("ejbStore: " + ex.getMessage());
}
}
public void ejbPostCreate(String codecd, String codename, String codeename, String ememo) {} private void makeConnection() throws ClassNotFoundException, SQLException {
Class.forName("interbase.interclient.Driver");
String dbName = "jdbc:interbase://localhost/E:/AJava/jsptest/JspTest.gdb";
con = DriverManager.getConnection(dbName, "SYSDBA", "masterkey");
} public void setEntityContext(EntityContext sc) {
this.context = sc;
try {
makeConnection();
}
catch (Exception ex) {
throw new EJBException("Unable to connet ot database. " + ex.getMessage());
}
} public void unsetEntityContext() {
try {
con.close();
}
catch (SQLException ex) {
throw new EJBException("unsetentityContext: " + ex.getMessage());
}
}
private void insertRow(String codecd, String codename, String codeename, String ememo) throws SQLException {
String insertStatement = "INSERT INTO ECODEMST VALUES(?,?,?,?)";
PreparedStatement ps = con.prepareStatement(insertStatement);
ps.setString(1, codecd);
ps.setString(2, codename);
ps.setString(3, codeename);
ps.setString(4, ememo);
ps.executeUpdate();
ps.close();
} private void deleteRow(String codecd) throws SQLException {
String deleteStatement = "DELETE FROM ECODEMST WHERE CODECD = ?";
PreparedStatement ps = con.prepareStatement(deleteStatement);
ps.setString(1, codecd);
ps.executeUpdate();
ps.close();
} private void loadRow() throws SQLException {
String selectStatement = "SELECT CODENAME, CODEENAME, EMEMO FROM ECODEMST WHERE CODECD = ?";
PreparedStatement ps = con.prepareStatement(selectStatement);
ps.setString(1, codecd);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
this.codename = rs.getString(1);
this.codeename = rs.getString(2);
this.ememo = rs.getString(3);
ps.close();
}
else {
ps.close();
throw new NoSuchEntityException("Row for codecd " + codecd + " not found in database.");
}
}
private boolean selectByPrimaryKey(String primaryKey) throws SQLException {
String selectStatement = "SELECT CODECD FROM ECODEMST WHERE CODECD = ?";
PreparedStatement ps = con.prepareStatement(selectStatement);
ps.setString(1, primaryKey);
ResultSet rs = ps.executeQuery();
boolean result = rs.next();
ps.close();
return result;
} private void storeRow() throws SQLException {
String updateStatement = "UPDATE ECODEMST SET CODENAME = ?, CODEENAME = ?, EMEMO = ? WHERE CODECD = ?";
PreparedStatement ps = con.prepareStatement(updateStatement);
ps.setString(1, codename);
ps.setString(2, codeename);
ps.setString(3, ememo);
int rowCount = ps.executeUpdate();
if (rowCount == 0) {
throw new EJBException("Storing row for codecd " + codecd + "failed.");
}
}
}
import java.rmi.RemoteException;
import javax.ejb.*;public interface EmployeeHome extends EJBHome {
public Employee create(String codecd, String codename, String codeename, String ememo) throws RemoteException, CreateException; public Employee findByPrimaryKey(String codecd) throws FinderException, RemoteException;
}
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;public class EmployeeClient extends JFrame {
public static int w = 400;
public static int h = 200;
public static String str = "Earnest Shopping Center Welcome You";
Container c;
JLabel lcodecd, lcodename, lcodeename, lememo, result;
JTextField tcodecd, tcodename, tcodeename, tememo;
JButton bsave, bdisplay;
public static String codecd, codename, codeename, ememo; public EmployeeClient() {
super(str);
c = getContentPane();
c.setLayout(new GridLayout(6,2,2,2)); lcodecd = new JLabel("CodeCd:");
c.add(lcodecd);
tcodecd = new JTextField(20);
c.add(tcodecd);
lcodename = new JLabel("CodeName:");
c.add(lcodename);
tcodename = new JTextField(20);
c.add(tcodename);
lcodeename = new JLabel("CodeEName:");
c.add(lcodeename);
tcodeename = new JTextField(20);
c.add(tcodeename);
lememo = new JLabel("EMemo:");
c.add(lememo);
tememo = new JTextField(20);
c.add(tememo);
bsave = new JButton("Save");
c.add(bsave);
bdisplay = new JButton("Display");
c.add(bdisplay); result = new JLabel();
c.add(result); bsave.addActionListener(new saveEvent());
bdisplay.addActionListener(new displayEvent());
setSize(w,h);
show();
}
public class saveEvent implements ActionListener {
public void actionPerformed(ActionEvent e) {
codecd = tcodecd.getText();
codename = tcodename.getText();
codeename = tcodeename.getText();
ememo = tememo.getText(); try {
//Properties env = new Properties();
//env.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
//env.put(Context.PROVIDER_URL, "iiop://192.168.0.108:3700"); //Context ic = new InitialContext(env); //Object obj = ic.lookup("EmployeeEJB");
//EmployeeHome home = (EmployeeHome)PortableRemoteObject.narrow(obj, EmployeeHome.class);
//Employee r= home.create(codecd, codename, codeename, ememo);
EJBHomeFactory f = EJBHomeFactory.getInstance(); EmployeeHome home =
(EmployeeHome)f.lookup("EmployeeJNDI", EmployeeHome.class);
Employee r = home.create(codecd, codename, codeename, ememo);
result.setText("Created!!!");
}
catch (Exception ex) {
//result.setText("Check if you have entered your name and also card number!");
ex.printStackTrace();
}
}
} public class displayEvent implements ActionListener {
public void actionPerformed(ActionEvent e) {
codecd = tcodecd.getText(); try {
EJBHomeFactory f = EJBHomeFactory.getInstance(); EmployeeHome home =
(EmployeeHome)f.lookup("EmployeeJNDI", EmployeeHome.class);
Employee r = home.findByPrimaryKey(codecd);
tememo.setText(r.getId());
//tcodename.setText(r.getCodeName());
//tcodeename.setText(r.getCodeEName());
//tememo.setText(r.getEMemo());
result.setText("Displayed!!!");
}
catch (Exception ex) {
//result.setText("Check if you have entered your name and also card number!");
ex.printStackTrace();
}
}
} public static void main(String[] args) {
EmployeeClient m = new EmployeeClient();
}
}
import java.rmi.RemoteException;public interface Employee extends EJBObject {
public String getCodeName() throws RemoteException;
public String getCodeEName() throws RemoteException;
public String getEMemo() throws RemoteException;
public String getId() throws RemoteException;
}