项目联机时,Manager Bean不会返回

时间:2012-03-31 14:43:03

标签: jsf jpa jsf-2 eclipselink glassfish-3

我有一个使用JPA的JSF项目,我这样做:从mysql数据库中检索一些数据,然后在图表中绘制数据。

在本地工作得很好,你可以在这里看到: enter image description here

所以我在我的GlassFish 3 Open Source中部署项目,该项目在EC2实例中运行,然后我尝试再次进行相同的操作,但似乎ManagedBean没有正确返回页面: enter image description here

这是我的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

3 个答案:

答案 0 :(得分:1)

再次玩图表......

我确实得到了正确的图表...可能是你在开始时没有收集到生产中的数据......?因为现在有

我也收到警报说

  

serverError:class javax.faces.el.E​​valuationException输入字符串:“true”

检查与图表“下拉”相关的EL表达式....

b.t.w这里有另一个成功的截图:enter image description here

所以似乎工作...... 你可能需要重新定义你的问题......

答案 1 :(得分:1)

解决方案是:

我必须向MySQL中的某个用户授予权限,在MySQL中启用远程连接,在glassfish_installation\glassfish\modules\中放置JDBC驱动程序并重新启动它,初始化logEAO并添加注释@Table(name="table_name")因为它取决于操作系统中的每个文件系统,如下所示:

JPA: MySQL says table don't exist, but it exist actually

答案 2 :(得分:0)

您是否在浏览器中尝试按Ctrl + F5强制重新加载页面?