Loading...
Select Version
&pagelevel(4)&pagelevel
It is possible to create applications on the basis of the generated classes. Below an example of an EJB for outbound communication on the basis of the class EmployeeRecord.
package net.fsc.jca.beanconnect.qa;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import de.siemens.cob2java.cobtypes.*; // Runtime of Cobol2Java
import de.siemens.cob2java.test.EmployeeRecord
public class EmployeeServiceBean implements SessionBean
{
private net.fsc.jca.communication.EISConnectionFactory cf;
public void ejbCreate() throws javax.ejb.CreateException
{
try {
javax.naming.Context ic = new
javax.naming.InitialContext();
cf =(net.fsc.jca.communication.EISConnectionFactory)
ic.lookup
("java:comp/env/eis/myEIS");
} catch (javax.naming.NamingException ex) {
throw new javax.ejb.CreateException
("NamingException:"+ex);
}
}
public void ejbActivate(){}
public void ejbPassivate(){}
public void ejbRemove(){}
public void setSessionContext(SessionContext ctx){}
public String addSalary(String employeeNr, int
salaryIncrease){
String retValue = "";
net.fsc.jca.communication.EISConnection con = null;
try {
con = cf.getConnection();
con.setServiceName("EMPLOYEE");
// Create EmployeeRecord and accept the encoding setting
// of the connection
EmployeeRecord employee = new EmployeeRecord();
try
{ employee.setEncoding( con.getEncoding() ); }
catch (net.fsc.beanta.encoding.EncoderException encEx) {
// todo Error handling
} // catch EncoderException
employee.setEncodingActive( con.isEncodingActive() );
// Fetch the required EmployeeData
employee.setEmployeeNumber( employeeNr );
con.sndRecord( employee );
con.rcvRecord( employee );
// Increase the salary and send modification
int oldSalary =employee.getSalaryInfo().
getAnnualSalary().intValue();
employee.getSalaryInfo().setAnnualSalary( oldSalary+
salaryIncrease );
con.sndRecord( employee );
con.rcvRecord( employee );
retValue="Salary for "+employee.getLastName()+"
increased from "+oldSalary +" to "+
employee.getSalaryInfo().getAnnualSalary();
con.close();
} // try
catch (net.fsc.jca.communication.EISConnectionException
eisEx) {
if (con != null) {
try { con.close();
} catch(Throwable thr) { }
}
throw new javax.ejb.EJBException
("EISConnectionException:"+eisEx);
} // catch EISConnectionException
catch (de.siemens.cob2java.cobtypes.
Cob2JavaException cobEx) {
if (con != null) {
try { con.close();
} catch(Throwable thr) { }
}
throw new javax.ejb.EJBException("Cob2JavaException:
"+cobEx);
} // catch Cob2JavaException
return retValue;
} // addSalary
}