Java 如何配置WildFly10.x以支持任何类型的持久性

Java 如何配置WildFly10.x以支持任何类型的持久性,java,jakarta-ee,configuration,persistence,wildfly,Java,Jakarta Ee,Configuration,Persistence,Wildfly,我正在学习JavaEE,并尝试在我的计算机上使用JBossWildfly服务器应用程序,在EclipseOxygen(4.7)中实现一个小的“动态Web项目”。我的目标只是一个基本的目标,我希望在互联网浏览器上的HTML页面中有一个表单和一个接收输入并存储它的数据库。也许还有一个页面可以显示它的内容 我开始在我的电脑上安装WildFly 10.1的版本。我在我的系统变量中设置了JBOSS_HOME值,安装了Eclipse插件:“JBOSS Tools 4.5.0.AM2”(2017年7月26日星

我正在学习JavaEE,并尝试在我的计算机上使用JBossWildfly服务器应用程序,在EclipseOxygen(4.7)中实现一个小的“动态Web项目”。我的目标只是一个基本的目标,我希望在互联网浏览器上的HTML页面中有一个表单和一个接收输入并存储它的数据库。也许还有一个页面可以显示它的内容

我开始在我的电脑上安装WildFly 10.1的版本。我在我的系统变量中设置了JBOSS_HOME值,安装了Eclipse插件:“JBOSS Tools 4.5.0.AM2”(2017年7月26日星期二)。使用jdk1.8路径配置运行时环境。并开始创建我的应用程序

我创建了一个servlet,用于截取站点的第一个url,并处理在发出POST请求时调用正确的方法,以及在发出GET请求时将其重定向到jsp页面、实体、jsp页面、EntityDAO和一个由servlet调用以完成应用程序工作的类(提取表单参数以设置实体,并调用EntityDAO以创建持久性)


我想知道如何设置persistence.xml文件(使用哪个数据源,调用什么包,“hibernate.hbm2ddl.auto”或其他?)我如何配置服务器,使其在设置所有持久性注释时使用mysql或其自己的数据库正常工作。我看不到关于如何进行配置的详细信息。

我建议您查看该网站,以获得灵感和随时可用的简单示例项目,这些项目可能总是有用的,尤其是在您不确定如何配置特定技术(对于Hibernate-5和Wildfly-10,请参阅)

请注意,每个分支都对应于某个wildlfly版本,因为QuickStart可能有所不同

不管怎样,外面有很多信息


祝您好运!

我建议您查看一下,以获取灵感和随时可用的简单示例项目,这些项目可能总是有用的,尤其是在您不确定如何配置特定技术的情况下(对于Hibernate-5和Wildfly-10,请参阅)

请注意,每个分支都对应于某个wildlfly版本,因为QuickStart可能有所不同

不管怎样,外面有很多信息


祝你好运!

我以为我找到了一个解决方案,但它对我不起作用……无论如何,我确实想发布它,因为它可能是在相同情况下丢失的一部分:

因此,对于未来的参与者,有一个解决方案:

首先需要设置mysql驱动程序,如果您计划使用它(我只在mysql上):

  • 下载MySQL JDBC jar文件:“MySQL-connector-java-5.1.xx bin.jar”并将其复制到“C:\wildfly-10.x.x.Final\modules\MySQL\main”。您必须创建“MySQL/main”子目录
  • 然后,在子目录“C:\wildfly-10.x.x.Final\modules\mysql\main”中创建一个名为“module.xml”的xml文件
  • 在中写入以下内容:

            <module xmlns:"urn:jboss:module:1.1" name="mysql" slot="main">
                <resources>
                    <resource-root path="mysql-connector-java-5.1.xx-bin.jar"/>
                </resources>
                <dependencies>
                    <module name="javax.api"/>
                </dependencies>
            </module> 
    
    
    
  • (请注意,在我提供给您的所有名称文件中,用您自己的版本号替换x…)

其次,我们需要设置数据源定义:

  • 转到“C:\wildfly-10.x.x.Final\standalone\configuration”并打开standalone.xml文件
  • 滚动查看“subsystem xmlns=“urn:jboss:domain:datasources:x.0”部分,然后在“datasources”小节中添加以下内容:

            <datasource jndi-name="java:jboss/datasources/MySQLDS" pool-name="MySQLDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
                <driver>mysql</driver>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>20</max-pool-size>
                    <prefill>true</prefill>
                </pool>
                <security>
                    <user-name>root</user-name>
                    <password></password>
                </security>
            </datasource>
    
    
    jdbc:mysql://localhost:3306/test
    mysql
    10
    20
    真的
    根
    
(密码是您在配置mysql根帐户时输入的密码,我将其留空)

  • 最后,在“驱动因素”小节中添加以下内容:

                <driver name="mysql" module="mysql">
                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
    
    
    com.mysql.jdbc.Driver
    com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    
  • 保存并重新启动服务器(如果服务器已打开),登录服务器的管理控制台(如果未为WildFly设置“管理用户”,则必须转到“C:\WildFly-10.x.x.Final\bin”目录,并在命令行“add user.bat”中执行,选择“a”)对于第一个问题,设置用户名和密码,并对以下问题回答“否”)

  • 完成后,转到管理控制台的运行时选项卡并搜索数据源,对我来说,它是在独立服务器>子系统>数据源>视图中,您应该可以看到新的mysqld,您应该能够测试它,如果一切正常,结果应该是“成功”

但对我来说,我有错误“WFLYJCA0040:调用操作失败:WFLYJCA0042:匹配池失败。请检查JndiName:java:jboss/datasources/MySQLDS”。。。我一定是在什么地方做错了什么事。

我以为我找到了解决办法,但它对我不起作用。。。不管怎样,我确实想发布它,因为它可能是在相同情况下丢失的一部分:

因此,对于未来的参与者,有一个解决方案:

首先需要设置mysql驱动程序,如果您计划使用它(我只在mysql上):