【发布时间】:2024-01-17 07:03:01
【问题描述】:
我正在关注Java EE7-hands 实验室here 上的教程。我按照那里提供的说明设置了我的WildFly Application server。一切正常。教程 zip 附带示例数据和用于初始化数据源的 sql load scripts。如果persistence.xml 中没有提供数据源,WildFly 将提供一个default data-source,如教程中所述。
在tutorial link 的第 3 步结束时,我的屏幕截图如下所示:
但预期的结果(根据tutorial link:图 12)是这样的:
区别在于“在影院放映电影!”就我而言,“在 7 个影院放映 20 部电影!”在预期的一个。 用于显示这些数字的 JSF 模板进行 EJB 调用,从数据源获取数据。看着这个,我认为我的数据源没有初始化。但我不知道为什么,因为我逐字遵循教程。我也很难解决这个问题。
提前感谢您的帮助
编辑
服务器日志显示Unable to determine H2 database version, certain features may not work.
2014-10-02 18:02:50,167 INFO [org.hibernate.Version] (ServerService Thread Pool -- 50) HHH000412: Hibernate Core {4.3.5.Final}
2014-10-02 18:02:50,170 INFO [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000206: hibernate.properties not found
2014-10-02 18:02:50,172 INFO [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000021: Bytecode provider name : javassist
2014-10-02 18:02:50,330 INFO [org.jboss.ws.common.management] (MSC service thread 1-6) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.4.Final
2014-10-02 18:02:50,491 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 50) JBAS011409: Starting Persistence Unit (phase 2 of 2) Service 'movieplex7.war#movieplex7PU'
2014-10-02 18:02:50,641 INFO [org.hibernate.annotations.common.Version] (ServerService Thread Pool -- 50) HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
2014-10-02 18:02:50,875 INFO [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 50) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2014-10-02 18:02:50,883 WARN [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 50) HHH000431: Unable to determine H2 database version, certain features may not work
2014-10-02 18:02:50,922 INFO [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (ServerService Thread Pool -- 50) HHH000397: Using ASTQueryTranslatorFactory
2014-10-02 18:02:51,047 INFO [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 50) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2014-10-02 18:02:51,048 WARN [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 50) HHH000431: Unable to determine H2 database version, certain features may not work
2014-10-02 18:02:51,055 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE SALES]
2014-10-02 18:02:51,055 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE POINTS]
2014-10-02 18:02:51,055 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE SHOW_TIMING]
2014-10-02 18:02:51,055 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE MOVIE]
2014-10-02 18:02:51,056 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE TIMESLOT]
2014-10-02 18:02:51,056 WARN [org.hibernate.jpa.internal.schemagen.GenerationTargetToDatabase] (ServerService Thread Pool -- 50) Unable to execute JPA schema generation drop command [DROP TABLE THEATER]
2014-10-02 18:02:51,250 INFO [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-8) Initializing Mojarra 2.2.6-jbossorg-4 20140501-1134 for context '/movieplex7'
2014-10-02 18:02:51,867 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) JBAS017534: Registered web context: /movieplex7
2014-10-02 18:02:51,905 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "movieplex7.war" (runtime-name : "movieplex7.war")
2014-10-02 18:02:51,910 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
2014-10-02 18:02:51,911 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
2014-10-02 18:02:51,911 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.1.0.Final "Kenny" started in 5525ms - Started 256 of 310 services (91 services are lazy, passive or on-demand)
我还在 github repo 中提出了一个问题: https://github.com/javaee-samples/javaee7-hol/issues/17#issuecomment-57561731
【问题讨论】:
-
假设您使用的是 Netbeans(按照教程),打开 [输出]。应该有一个显示服务器日志的 Wildfly 服务器选项卡。你发现有什么例外吗?
-
@peeskillet:我正在使用 Eclipse。但我找到了服务器日志。请参阅上面我包含服务器日志的编辑
-
所以我得到了应用程序,并尝试运行它(Netbeans,Wildfly-8.1)。它根本没有运行。找不到数据源的问题。所以(Wildfly 启动时)我去了管理控制台
localhost:9990并输入了我的凭据。在控制台中,选择 [Configuration] 选项卡,然后选择 [Datasources]。没有defaultDataSource。 有java:jboss/datasources/ExampleDS作为预配置的数据源。所以在persistence.xml中,我将数据源更改为那个,它起作用了。仅供参考,我从下载的solution目录运行movieplex7 -
@peeskillet:感谢您花时间对此进行测试。如果您查看上面链接的 github 存储库,我有一个快照显示我的 defaultDataSource 已配置。你能粘贴你在persistence.xml中使用的链接吗?这将非常有帮助..
-
这是我对整个项目所做的唯一更改。刚刚把数据源的jndi名字改成
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
标签: jakarta-ee java-ee-7 wildfly-8