jboss maven

大多数Java EE应用程序在其业务逻辑中使用数据库访问,因此开发人员经常面临在应用程序服务器中配置驱动程序和数据库连接属性的需求。 在本文中,我们将使用Maven为JBoss / Wildfly和Postgre数据库自动化该任务。 这项工作是根据我从以前的魔兽拍卖批量应用世界岗位 。

Maven配置

首先,将以下内容添加到我们的pom.xml

Wildfly Maven插件

org.wildfly.pluginswildfly-maven-plugin1.0.2.Finalfalseorg.postgresqlpostgresql9.3-1102-jdbc41

我们将使用Wildfly Maven插件在应用程序服务器中使用命令执行脚本。 请注意,我们还向Postgre驱动程序添加了依赖项。 这是供Maven下载的依赖项,因为我们稍后将需要它来将其添加到服务器中。 还有一个${cli.file}属性将被分配给一个配置文件。 这是为了指示我们要执行哪个脚本。

让我们还将以下内容添加到pom.xml

Maven资源插件

org.apache.maven.pluginsmaven-resources-plugin2.6copy-resourcesprocess-resourcescopy-resources${basedir}/target/scriptssrc/main/resources/scriptstrue${basedir}/src/main/resources/configuration.properties 

使用Resources Maven插件,我们将过滤src/main/resources/scripts包含的脚本文件,并用${basedir}/src/main/resources/configuration.properties文件中包含的属性替换它们。

最后,使用我们要运行的脚本将一些Maven配置文件添加到pom.xml

Maven个人资料

install-driverwildfly-install-postgre-driver.cliremove-driverwildfly-remove-postgre-driver.cliinstall-wow-auctionswow-auctions-install.cliremove-wow-auctionswow-auctions-remove.cli

Wildfly脚本文件

添加驱动

带有用于添加驱动程序的命令的脚本:

wildfly-install-postgre-driver.cli

# Connect to Wildfly instance
connect# Create Oracle JDBC Driver Module
# If the module already exists, Wildfly will output a message saying that the module already exists and the script exits.
module add \--name=org.postgre \--resources=${settings.localRepository}/org/postgresql/postgresql/9.3-1102-jdbc41/postgresql-9.3-1102-jdbc41.jar \--dependencies=javax.api,javax.transaction.api# Add Driver Properties
/subsystem=datasources/jdbc-driver=postgre: \add( \driver-name="postgre", \driver-module-name="org.postgre")

数据库驱动程序作为模块添加到Wildfly 。 在这种情况下,驱动程序可广泛用于服务器中部署的所有应用程序。 使用${settings.localRepository}我们指向下载到本地Maven存储库的数据库驱动程序jar。 还记得我们添加到Wildfly Maven插件中的依赖吗? 当您运行插件时,将下载驱动程序并将其添加到服务器。 现在,要运行我们执行的脚本(您需要运行应用程序服务器):

mvn process-resources wildfly:execute-commands -P "install-driver"

需要process-resources生命周期来替换脚本文件中的属性。 在我的情况下, ${settings.localRepository}/Users/radcortez/.m3/repository/代替。 检查target/scripts文件夹。 运行命令后,您应该在Maven日志中看到以下输出:

{"outcome" => "success"}

在服务器上:

INFO  [org.jboss.as.connector.subsystems.datasources] (management-handler-thread - 4) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010417: Started Driver service with driver-name = postgre

wildfly-删除-postgre-driver.cli

# Connect to Wildfly instance
connectif (outcome == success) of /subsystem=datasources/jdbc-driver=postgre:read-attribute(name=driver-name)# Remove Driver/subsystem=datasources/jdbc-driver=postgre:removeend-if# Remove Oracle JDBC Driver Module
module remove --name=org.postgre

该脚本用于从应用程序服务器中删除驱动程序。 执行mvn wildfly:execute-commands -P "remove-driver" 。 如果您之前已经执行过命令,则不需要process-resources ,除非您更改了脚本。

添加数据源

wow-auctions-install.cli

带有用于添加数据源的命令的脚本:

wow-auctions-install.cli

# Connect to Wildfly instance
connect# Create Datasource
/subsystem=datasources/data-source=WowAuctionsDS: \add( \jndi-name="${datasource.jndi}", \driver-name=postgre, \connection-url="${datasource.connection}", \user-name="${datasource.user}", \password="${datasource.password}")/subsystem=ee/service=default-bindings:write-attribute(name="datasource", value="${datasource.jndi}")

我们还需要一个文件来定义属性:

configuration.properties

datasource.jndi=java:/datasources/WowAuctionsDS
datasource.connection=jdbc:postgresql://localhost:5432/wowauctions
datasource.user=wowauctions
datasource.password=wowauctions

默认的Java EE 7数据源

Java EE 7指定容器应提供默认的数据源。 与其在应用程序中定义JNDI名称java:/datasources/WowAuctionsDS将新创建的数据源指向具有/subsystem=ee/service=default-bindings:write-attribute(name="datasource", value="${datasource.jndi}") 。 这样,我们无需在应用程序中进行任何更改。 使用mvn wildfly:execute-commands -P "install-wow-auctions"执行脚本。 您应该获得以下Maven输出:

org.jboss.as.cli.impl.CommandContextImpl printLine
INFO: {"outcome" => "success"}
{"outcome" => "success"}
org.jboss.as.cli.impl.CommandContextImpl printLine
INFO: {"outcome" => "success"}
{"outcome" => "success"}

在服务器上:

INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source

wow-auctions-remove.cli

# Connect to Wildfly instance
connect# Remove Datasources
/subsystem=datasources/data-source=WowAuctionsDS:remove/subsystem=ee/service=default-bindings:write-attribute(name="datasource", value="java:jboss/datasources/ExampleDS")

这是用于删除数据源并还原Java EE 7默认数据源的脚本。 通过执行mvn wildfly:execute-commands -P "remove-wow-auctions"运行它

结论

这篇文章演示了如何自动向Wildfly实例添加/删除驱动程序以及如何添加/删除数据源。 如果要在数据库之间切换,或者要从头开始配置服务器,这将很有用。 考虑一下CI环境。 这些脚本也可以轻松调整为其他驱动程序。

  • 您可以从使用此设置的WoW Auctions Github存储库中获取代码。

请享用!

翻译自: https://www.javacodegeeks.com/2014/10/configure-jboss-wildfly-datasource-with-maven.html

jboss maven

jboss maven_使用Maven配置JBoss / Wildfly数据源相关推荐

  1. 使用Maven配置JBoss / Wildfly数据源

    大多数Java EE应用程序在其业务逻辑中使用数据库访问,因此开发人员经常面临在应用程序服务器中配置驱动程序和数据库连接属性的需求. 在本文中,我们将使用Maven为JBoss / Wildfly和P ...

  2. JBoss 系列十六:JBoss7/WildFly配置domain模式

    2019独角兽企业重金招聘Python工程师标准>>> 内容概要 JBoss7/WildFly有两种模式可供选择,即standalone和dimain模式,详细请参照社区文档(链接) ...

  3. 启动Wildfly时遇到的错误- jboss.data-source.java:jboss/datasources/SCI_ODS is missing [jboss.jdbc-driv

    启动Wildfly时遇到的错误是: ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS ...

  4. jboss as安装配置_书评:JBoss AS 7:配置,部署和管理

    jboss as安装配置 我热切地接受Packt Publishing邀请复审JBoss AS 7:配置,部署和管理,因为自从我上次使用JBoss已有数年了,我很想了解有关JBoss AS 7的更多信 ...

  5. 书评:JBoss AS 7:配置,部署和管理

    我热切地接受Packt Publishing邀请复审JBoss AS 7:配置,部署和管理,因为自从我上次使用JBoss已有数年了,我很想了解有关JBoss AS 7的更多信息. 我已经写过关于< ...

  6. JOSSO在JBOSS中安装与配置

    JOSSO在JBOSS中安装与配置 1.JOSSO单点登录网关 1.1进入josso/bin目录,执行josso-gsh命令 1.2 安装JOSSO的核心Gateway,执行命令 gateway in ...

  7. Linux5配置jboss环境

    Linux5配置jboss环境 说明:  Linux版本:Redhat Enterprise Linux 5 JDK版本:jdk1.6.0_21(安装文件:jdk-6u21-linux-i586-rp ...

  8. 在Myeclipse中配置 jboss 图解

    注:原文章转自http://blog.csdn.net/onetree2010/article/details/6053579,所有权力归原作者所有 前提:你的java环境都已经配置好,而且已经安装了 ...

  9. JBuilder配置JBoss

    下面是我用JBuilder配置JBoss时自己写的一个笔记,可能不那么完整,可以参考一下.:) 具体的开发流程可以参考JBuilder的帮助. 其中的JBossOpenTool,可以google得到. ...

最新文章

  1. 【云快讯】之四十五《Google在云服务领域认输?不,我们的重点是大数据》
  2. MariaDB/MySql 服务消失无法启动
  3. C指针原理(20)-C指针基础
  4. linux 性能监视命令
  5. idea xml文件引入类提示_IntelliJ IDEA:引用XML模式和DTD
  6. android图片异步加载解决步骤
  7. flash flip 效果集
  8. 树莓派zero_w 串口的使用(解决usb可用rxtx不可用的问题)
  9. spring Quartz基于配置文件和注解的实现
  10. 联想键盘F1-F12的切换
  11. Android开发中加载Gif动画图片方法
  12. 鸿蒙珠融入体内,逍遥至尊之诸天逍遥
  13. 历时一个月整理2021金三银四Java面试题汇总,足足127页!
  14. 斐波那契数列c语言程序改错题,C语言习题004:斐波那契数列
  15. 打台球百发百中?油管博主球杆上“做手脚”
  16. 爬取京东商城中的书籍信息
  17. 京东面试官:给我说说你简历上的订单系统是如何设计的?尽量详细点~
  18. 面试时如何反问面试官
  19. 字符串解码(猿辅导笔试题数箱子)
  20. 模块化开发一个电子商务网站

热门文章

  1. P4096-[HEOI2013]Eden的博弈树
  2. POJ1821-Fence【单调队列,dp】
  3. ssl1500-最短路上的统计【Floyd】
  4. AtCoder Regular Contest 110 E.Shorten ABC——坑
  5. ABC181——F - Silver Woods
  6. 糊涂的教授(2015特长生 T3)
  7. 【dfs】无穷迷宫(jzoj 3924)
  8. HDU5833 异或方程组的初步学习
  9. Java调用exe阻塞
  10. 数据结构(二)之链表反转