当前位置: 技术问答>java相关
谁能帮我看看这段代码?
来源: 互联网 发布时间:2015-09-24
本文导语: 这是一段J2EE的应用程序的EJB文件,是部署的Bean部分,模仿股票交易的情景: ///////////////////////////////TraderBean.java//////////////////////////////// public class TraderBean implements SessionBean{ private static final boolean VERBOSE=true; priva...
这是一段J2EE的应用程序的EJB文件,是部署的Bean部分,模仿股票交易的情景:
///////////////////////////////TraderBean.java////////////////////////////////
public class TraderBean implements SessionBean{
private static final boolean VERBOSE=true;
private SessionContext ctx;
private int tradeLimit;
private void log(String s){
if(VERBOSE)System.out.println(s);}
public void ejbActivate(){
log("ejbActivate called");
}
public void ejbRemove(){
log("ejbRemove called");
}
public void ejbPassivate(){
log("ejbPassivate called");
}
public void setSessionContext(SessionContext ctx){
log("SessionContext called");
this.ctx=ctx;}
public void ejbCreate()throws CreateException{
log("ejbCreate called");
try{
InitialContext ic=new InitialContext();
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit");
tradeLimit=t1.intValue();
}catch(NamingException ne){
throw new CreateException("Failed to find environment value"+ne);
}
}
public TradeResult buy(String stockSymbol,int shares){
if(shares>tradeLimit){
log("Attempt to buy "+shares+"is greater than limit of"+tradeLimit);
shares=tradeLimit;}
log("Buying "+shares+"shares of"+stockSymbol);
return new TradeResult(shares,stockSymbol);}
public TradeResult sell(String stockSymbol,int shares){
if(shares>tradeLimit){
log("Attempt to sell"+shares+"is greater than limit of"+tradeLimit);
shares=tradeLimit;}
log("Selling "+shares+"shares of"+stockSymbol);
return new TradeResult(shares,stockSymbol);}
}
//////////////////////////////////////////////////////////////////////////
其中:" InitialContext ic=new InitialContext();
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit");
tradeLimit=t1.intValue();
这段是做什莫用的?java:/comp/env/tradeLimit是哪里来的?
其中: public void setSessionContext(SessionContext ctx){
log("SessionContext called");
this.ctx=ctx;}
中的this.ctx=ctx有什麽意义吗?自己等于自己?!请帮我详细的解释一下吧,一定给分!多谢了!
///////////////////////////////TraderBean.java////////////////////////////////
public class TraderBean implements SessionBean{
private static final boolean VERBOSE=true;
private SessionContext ctx;
private int tradeLimit;
private void log(String s){
if(VERBOSE)System.out.println(s);}
public void ejbActivate(){
log("ejbActivate called");
}
public void ejbRemove(){
log("ejbRemove called");
}
public void ejbPassivate(){
log("ejbPassivate called");
}
public void setSessionContext(SessionContext ctx){
log("SessionContext called");
this.ctx=ctx;}
public void ejbCreate()throws CreateException{
log("ejbCreate called");
try{
InitialContext ic=new InitialContext();
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit");
tradeLimit=t1.intValue();
}catch(NamingException ne){
throw new CreateException("Failed to find environment value"+ne);
}
}
public TradeResult buy(String stockSymbol,int shares){
if(shares>tradeLimit){
log("Attempt to buy "+shares+"is greater than limit of"+tradeLimit);
shares=tradeLimit;}
log("Buying "+shares+"shares of"+stockSymbol);
return new TradeResult(shares,stockSymbol);}
public TradeResult sell(String stockSymbol,int shares){
if(shares>tradeLimit){
log("Attempt to sell"+shares+"is greater than limit of"+tradeLimit);
shares=tradeLimit;}
log("Selling "+shares+"shares of"+stockSymbol);
return new TradeResult(shares,stockSymbol);}
}
//////////////////////////////////////////////////////////////////////////
其中:" InitialContext ic=new InitialContext();
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit");
tradeLimit=t1.intValue();
这段是做什莫用的?java:/comp/env/tradeLimit是哪里来的?
其中: public void setSessionContext(SessionContext ctx){
log("SessionContext called");
this.ctx=ctx;}
中的this.ctx=ctx有什麽意义吗?自己等于自己?!请帮我详细的解释一下吧,一定给分!多谢了!
|
InitialContext ic=new InitialContext(); //他有一个InitialContext类,这句是生成这个类的实例叫ic
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit"); //t1是个int型的变量,它等于实例ic里的lookup属性的值
java:/comp/env/tradeLimit //是tradeLimit.class的路径
this.ctx=ctx //其中前一个ctx说的是方法setSessionContext里定义的一个变量,后一个ctx说的是方法的参数变量名。这句话的意思是把得到的参数值赋给自定义的变量ctx。为了加以区分,所以用this.来说明方法自定义的变量名
Integer t1=(Integer)ic.lookup("java:/comp/env/tradeLimit"); //t1是个int型的变量,它等于实例ic里的lookup属性的值
java:/comp/env/tradeLimit //是tradeLimit.class的路径
this.ctx=ctx //其中前一个ctx说的是方法setSessionContext里定义的一个变量,后一个ctx说的是方法的参数变量名。这句话的意思是把得到的参数值赋给自定义的变量ctx。为了加以区分,所以用this.来说明方法自定义的变量名