Jboss4.05+EJB3+Oracle
现写了一个简单的BBS:
freemarker+struts2---->EJB3----->DB。
出现如下问题,
1、所有SQL语句在程序中运行时间都很长,长的不可思议,拿到数据库中直接执行(pl/sql developer)非常快,,说明语句是没问题的,
2、怀疑DB连接问题,netstat -na观察服务器和客户端,都没问题,连接很正常。
3、怀疑JBOSS方面的配置问题,可单独写个例子,跑的欢的很,一点问题没有,速度奇快。
4、怀疑此程序问题,可此程序异常简单,
客户端是JSP,代码如下:
[code] try {
ctx = new InitialContext(props);
user = (Bbs_forumLocal)ctx.lookup("Bbs_forumBean/local");
Iterator i=user.getForumbyType("0","0").iterator();
while (i.hasNext())
{
Bbs_forum f=(Bbs_forum) i.next();
out.println(f.getForumname());
}
} catch (Exception e) {
e.printStackTrace();
out.println(e.getMessage());
}
[/code]
会话Bean如下:
[code]
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public List<Bbs_forum> getForumbyType(boolean Type,String forumstatu) {
// TODO 自动生成方法存根
return em.createQuery("select bf from bbs_forum bf where bf.forumtype=:Type and bf.forumstatu=:forumstatu").setParameter("forumstatu",forumstatu)
.setParameter("Type", Type)
.getResultList();
}[/code]
Entity非常简单,,数据库记录也就几十条。
找了一天了,实在找不出来原因,只知道用jprofile监控的情况就是下图,每调用一次,在这上面花了几秒钟...
下图的第一条sql 语句类似: select * from table as t1 inner table as t2 on t1.parentid=t2.id where t1.id=?
第二条语句是连接池探测用的,
第三条非常简单,无所谓
现写了一个简单的BBS:
freemarker+struts2---->EJB3----->DB。
出现如下问题,
1、所有SQL语句在程序中运行时间都很长,长的不可思议,拿到数据库中直接执行(pl/sql developer)非常快,,说明语句是没问题的,
2、怀疑DB连接问题,netstat -na观察服务器和客户端,都没问题,连接很正常。
3、怀疑JBOSS方面的配置问题,可单独写个例子,跑的欢的很,一点问题没有,速度奇快。
4、怀疑此程序问题,可此程序异常简单,
客户端是JSP,代码如下:
[code] try {
ctx = new InitialContext(props);
user = (Bbs_forumLocal)ctx.lookup("Bbs_forumBean/local");
Iterator i=user.getForumbyType("0","0").iterator();
while (i.hasNext())
{
Bbs_forum f=(Bbs_forum) i.next();
out.println(f.getForumname());
}
} catch (Exception e) {
e.printStackTrace();
out.println(e.getMessage());
}
[/code]
会话Bean如下:
[code]
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public List<Bbs_forum> getForumbyType(boolean Type,String forumstatu) {
// TODO 自动生成方法存根
return em.createQuery("select bf from bbs_forum bf where bf.forumtype=:Type and bf.forumstatu=:forumstatu").setParameter("forumstatu",forumstatu)
.setParameter("Type", Type)
.getResultList();
}[/code]
Entity非常简单,,数据库记录也就几十条。
找了一天了,实在找不出来原因,只知道用jprofile监控的情况就是下图,每调用一次,在这上面花了几秒钟...
下图的第一条sql 语句类似: select * from table as t1 inner table as t2 on t1.parentid=t2.id where t1.id=?
第二条语句是连接池探测用的,
第三条非常简单,无所谓