我有一个使用 JPA 的 JSF 项目,我这样做:从 mysql 数据库检索一些数据,然后在图表中绘制数据。
正如您在此处看到的那样,在本地工作得很好:
因此,我将项目部署在运行在 EC2 实例中的 GlassFish 3 Open Source 中,然后我尝试再次进行相同的操作,但 ManagedBean 似乎没有正确返回页面:
这是我的 ManageBean :
@ManagedBean(name="reportc")
@SessionScoped
public class ReportControl implements Serializable {
private static final long serialVersionUID = 3269125738504434502L;
@EJB LogEAO logEAO;
private int quantity;
@NotNull(message="informe um intervalo")
private String time;
@NotNull(message="informe um ponto")
private String point;
private Map<String, Object> data = new HashMap<String, Object>();
@PostConstruct
public void init(){
quantity = 1;
}
public String getDataAsJson() {
return new Gson().toJson(data);
}
public String generateReport(){
this.setTitles();
this.getValues(getLog());
return "/showroom/report.xhtml?faces-redirect=true";
}
.. methods and get's and set's
我已经查看了我的 server.log 以查看是否有问题,但似乎一切正常。
[#|2012-03-31T14:30:06.594+0000|WARNING|glassfish3.1.1|javax.enterprise.resource.webcontainer.jsf.application|_ThreadID=25;_ThreadName=Thread-2;|JSF1064: Unable to find or serve resource, image/structure/pic-1.gif.|#]
[#|2012-03-31T14:30:15.558+0000|FINE|glassfish3.1.1|org.eclipse.persistence.session.file:/home/ec2-user/usr/local/glassfish3/glassfish3/glassfish/domains/domain1/applications/BrainSet/WEB-INF/classes/_BrainSet.sql|_ThreadID=24;_ThreadName=Thread-2;ClassName=null;MethodName=null;|SELECT ID, TIME, VALUE, id_point FROM log WHERE (((id_point = ?) AND (TIME >= ?)) AND (TIME <= ?))
bind => [3 parameters bound]|#]
[#|2012-03-31T14:30:15.585+0000|INFO|glassfish3.1.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=24;_ThreadName=Thread-2;|EXECUTION TIME:0:0|#]
[#|2012-03-31T14:30:15.585+0000|INFO|glassfish3.1.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=24;_ThreadName=Thread-2;|LOGS SIZE : 0|#]
[#|2012-03-31T14:30:16.690+0000|WARNING|glassfish3.1.1|javax.enterprise.resource.webcontainer.jsf.application|_ThreadID=24;_ThreadName=Thread-2;|JSF1064: Unable to find or serve resource, image/structure/pic-1.gif.|#]
[#|2012-03-31T14:35:53.578+0000|FINE|glassfish3.1.1|org.eclipse.persistence.session.file:/home/ec2-user/usr/local/glassfish3/glassfish3/glassfish/domains/domain1/applications/BrainSet/WEB-INF/classes/_BrainSet.sql|_ThreadID=28;_ThreadName=Thread-2;ClassName=null;MethodName=null;|SELECT ID, TIME, VALUE, id_point FROM log WHERE (((id_point = ?) AND (TIME >= ?)) AND (TIME <= ?))
bind => [3 parameters bound]|#]
[#|2012-03-31T14:35:53.605+0000|INFO|glassfish3.1.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=28;_ThreadName=Thread-2;|EXECUTION TIME:0:0|#]
[#|2012-03-31T14:35:53.605+0000|INFO|glassfish3.1.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=28;_ThreadName=Thread-2;|LOGS SIZE : 0|#]
我真的不知道为什么会发生这种情况,此外这是我第一次尝试部署一个同时使用 JPA 和 JSF 的项目。
这能做什么?
编辑:
还有一件事,在本地模式下,当我点击生成报告时,它需要几秒钟才能进入数据库,进行数学运算并返回到我的页面,但是当它处于生产模式时,当我点击生成报告时,它只是刷新页面,为什么会这样?
我真的需要知道为什么......请帮帮我。
编辑 2:
大家可以在网上看到:
http://50.19.242.172:8080/BrainSet/showroom/report.xhtml
最佳答案
刚刚又玩了一次图表......
我确实得到了正确的图表……难道你一开始没有在制作中收集数据……?因为现在有
我也收到警报说
serverError: class javax.faces.el.EvaluationException For input string: "true"
检查与图表“下拉列表”相关的 EL 表达式....
b.t.w 这是另一个成功的截图:
所以它看起来像工作... 您可能需要重新定义您的问题...
关于jsf - 项目上线时Manager Bean不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9956866/