我正在Payara 5 Server上开发JEE8应用程序。我在一个无状态EJB中有一个方法,该方法仅被调用一次(从JSF页面),但是在服务器端它被调用多次。我已经在Payara5.192,Payara 5.193和Glassfish 5上尝试过该方法。但是我一直遇到同样的问题。下面的代码-
@Override
public List<Forum> getForums(int startIndex,int size) {
TypedQuery<Forum> tQ=em.createQuery("select f from Forum f",Forum.class);
tQ.setfirstResult(startIndex);
tQ.setMaxResults(size);
List<Forum> toReturn=tQ.getResultList();
LOGGER.info("Forums extracted "+toReturn.size());
return toReturn;
}
如果我从索引0开始分页并且结果大小为5,则LOGGER.info会生成以下日志,看起来很荒谬!
Info: Forums extracted 5
Info: Forums extracted 5
Info: Forums extracted 5
Info: Forums extracted 5
Info: Forums extracted 5
Info: Forums extracted 5
此外,该循环进行的次数也不固定。它可以执行15-30次。而显然我只希望收到一条日志消息。