,耽误您几分钟帮忙看一下好吗,谢谢
这是客户端测试代码
public static void main(String[] args) throws NamingException {
[color=darkblue] InitialContext initialContext = new InitialContext();
StatelessEjb ejb1 = (StatelessEjb)initialContext.lookup("StatelessEjbBean/remote");
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());
ejb1.compute(1);
System.out.println(ejb1.getResult());[/color]
System.out.println("--------第一次会话结束,第二次会话开始----------");
/**
- 第二次会话 */ StatelessEjb ejb2 = (StatelessEjb)initialContext.lookup("StatelessEjbBean/remote"); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); ejb2.compute(1); System.out.println(ejb2.getResult()); }
这是ejb实现类
package com.bjsxt.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote
public class StatelessEjbBean implements StatelessEjb {
private int state;
public void compute(int i) {
state = state + 1;
}
public int getResult() {
return state;
}
}
我输出的结果是这样
0
0
0
0
0
0
0
--------第一次会话结束,第二次会话开始----------
6
6
6
6
6
6
6
怎么是这种结果呢,按理说应该是这样啊
0
1
2
3
4
5
6
--------第一次会话结束,第二次会话开始----------
6
7
8
9
10
希望帮忙,再次感谢,我很郁闷,我是看着教程做的