成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Maven配置JBoss、Wildfly數據源

開發 后端
大多數Java EE應用在其業務邏輯層中會訪問數據庫,所以開發者會經常需要為應用服務器配置數據庫驅動和數據庫連接。這篇文章會討論如何用Maven自動化JBoss、Wildfly和Postgre數據庫的配置。

大多數Java EE應用在其業務邏輯層中會訪問數據庫,所以開發者會經常需要為應用服務器配置數據庫驅動和數據庫連接。這篇文章會討論如何用Maven自動化JBoss、Wildfly和Postgre數據庫的配置。

Maven 配置

讓我們從下面的pom.xml 開始吧,

Wildfly Maven Plugin

  1. <plugin> 
  2.     <groupid>org.wildfly.plugins</groupid> 
  3.     <artifactid>wildfly-maven-plugin</artifactid> 
  4.     <version>1.0.2.Final</version> 
  5.     <configuration> 
  6.         <executecommands> 
  7.             <batch>false</batch> 
  8.             <scripts>%MINIFYHTML7db47c7a4774fb3aa46c5ca8120866ec8%</scripts> 
  9.         </executecommands> 
  10.     </configuration> 
  11.     <dependencies> 
  12.         <dependency> 
  13.             <groupid>org.postgresql</groupid> 
  14.             <artifactid>postgresql</artifactid> 
  15.             <version>9.3-1102-jdbc41</version> 
  16.         </dependency> 
  17.     </dependencies> 
  18. </plugin> 

我們開始使用Wildfly Maven Plugin在應用服務器執行命令腳本。我們已經添加了 Postgre的依賴, Maven會下載依賴, 因為我們將要在后面把它加到服務器中。這里有一個 ${cli.file} 屬性, 將指明將執行哪一個腳本。

讓我們在pom.xml中添加下面內容:

Maven Resources Plugin

  1. <plugin> 
  2.     <groupid>org.apache.maven.plugins</groupid> 
  3.     <artifactid>maven-resources-plugin</artifactid> 
  4.     <version>2.6</version> 
  5.     <executions> 
  6.         <execution> 
  7.             <id>copy-resources</id> 
  8.             <phase>process-resources</phase> 
  9.             <goals> 
  10.                 <goal>copy-resources</goal> 
  11.             </goals> 
  12.             <configuration> 
  13.                 <outputdirectory>${basedir}/target/scripts</outputdirectory> 
  14.                 <resources> 
  15.                     <resource> 
  16.                         <directory>src/main/resources/scripts</directory> 
  17.                         <filtering>true</filtering> 
  18.                     </resource> 
  19.                 </resources> 
  20.                 <filters> 
  21.                     <filter>${basedir}/src/main/resources/configuration.properties</filter> 
  22.                 </filters> 
  23.             </configuration> 
  24.         </execution> 
  25.     </executions> 
  26. </plugin> 

用這個插件,我們可以過濾包含在src/main/resources/scripts這個目錄中的腳本。使用${basedir}/src/main/resources/configuration.properties這個文件中的屬性進行替換。

最后添加一些 Maven屬性到pom.xml文件中:

Maven Profiles

  1. <profiles> 
  2.     <profile> 
  3.         <id>install-driver</id> 
  4.         <properties> 
  5.             <cli.file>wildfly-install-postgre-driver.cli</cli.file> 
  6.         </properties> 
  7.     </profile> 
  8.  
  9.     <profile> 
  10.         <id>remove-driver</id> 
  11.         <properties> 
  12.             <cli.file>wildfly-remove-postgre-driver.cli</cli.file> 
  13.         </properties> 
  14.     </profile> 
  15.  
  16.     <profile> 
  17.         <id>install-wow-auctions</id> 
  18.         <properties> 
  19.             <cli.file>wow-auctions-install.cli</cli.file> 
  20.         </properties> 
  21.     </profile> 
  22.  
  23.     <profile> 
  24.         <id>remove-wow-auctions</id> 
  25.         <properties> 
  26.             <cli.file>wow-auctions-remove.cli</cli.file> 
  27.         </properties> 
  28.     </profile> 
  29. </profiles> 

Wildfly Script Files

添加驅動

添加驅動的腳本:

wildfly-install-postgre-driver.cli

  1. # Connect to Wildfly instance 
  2. connect 
  3.  
  4. # Create Oracle JDBC Driver Module 
  5. # If the module already exists, Wildfly will output a message saying that the module already exists and the script exits. 
  6. module add \ 
  7.     --name=org.postgre \ 
  8.     --resources=${settings.localRepository}/org/postgresql/postgresql/9.3-1102-jdbc41/postgresql-9.3-1102-jdbc41.jar \ 
  9.     --dependencies=javax.api,javax.transaction.api 
  10.  
  11. # Add Driver Properties 
  12. /subsystem=datasources/jdbc-driver=postgre: \ 
  13.     add( \ 
  14.         driver-name="postgre", \ 
  15.         driver-module-name="org.postgre"

數據庫驅動作為Wildfly的一個模塊(Module)。這樣數據庫驅動可以被部署在服務器中的所有應用使用。使用${settings.localRepository} 配置,我們指定數據庫驅動下載到你的本地Maven倉庫。還記得我們加到 Wildfly Maven Plugin的依賴嗎,在你插件運行的時候他將下載驅動并加到服務器中。要運行腳本(必須保證應用服務器正在運行中)可以執行下面的命令:

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

需要用process-resources生命周期替換腳本中的屬性。在這個例子中 ${settings.localRepository} 被替換為 /Users/radcortez/.m3/repository/. 。檢查target/scripts 文件夾。在運行命令后,可以在Maven的日志看到以下輸出:

  1. {"outcome" => "success"

服務器上的日志:

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

wildfly-remove-postgre-driver.cli

  1. # Connect to Wildfly instance 
  2. connect 
  3.  
  4. if (outcome == success) of /subsystem=datasources/jdbc-driver=postgre:read-attribute(name=driver-name) 
  5.  
  6.     # Remove Driver 
  7.     /subsystem=datasources/jdbc-driver=postgre:remove 
  8.  
  9. end-if 
  10.  
  11. # Remove Oracle JDBC Driver Module 
  12. module remove --name=org.postgre 

這段腳本是把驅動從你的服務器上刪除。允許 mvn wildfly:execute-commands -P “remove-driver”,如果你已經執行了以前的命令就不需要再配置process-resource,除非腳本發生改變。

添加數據源

wow-auctions-install.cli

這個腳本使用命令添加了一個數據源

wow-auctions-install.cli

  1. # Connect to Wildfly instance 
  2. connect 
  3.  
  4. # Create Datasource 
  5. /subsystem=datasources/data-source=WowAuctionsDS: \ 
  6.     add( \ 
  7.         jndi-name="${datasource.jndi}", \ 
  8.         driver-name=postgre, \ 
  9.         connection-url="${datasource.connection}", \ 
  10.         user-name="${datasource.user}", \ 
  11.         password="${datasource.password}"
  12.  
  13. /subsystem=ee/service=default-bindings:write-attribute(name="datasource", value="${datasource.jndi}"

我們依然需要一個文件來定義這些屬性。

configuration.properties

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

Java EE 7 默認數據源

Java EE 7中, 指定容器必須提供一個默認數據源。不要在程序中使用 java:/datasources/WowAuctionsDS JNDI 定義的數據源,我們將指定一個新創建的數據源 /subsystem=ee/service=default-bindings:write- attribute(name=”datasource”, value=”${datasource.jndi}”)。 這樣就無需改變程序中的任何配置。 執行 mvn wildfly:execute-commands -P “install-wow-auctions”,就可以得到以下輸出:

  1. org.jboss.as.cli.impl.CommandContextImpl printLine 
  2. INFO: {"outcome" => "success"
  3. {"outcome" => "success"
  4. org.jboss.as.cli.impl.CommandContextImpl printLine 
  5. INFO: {"outcome" => "success"
  6. {"outcome" => "success"

服務器日志:

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

wow-auctions-remove.cli

  1. # Connect to Wildfly instance 
  2. connect 
  3.  
  4. # Remove Datasources 
  5. /subsystem=datasources/data-source=WowAuctionsDS:remove 
  6.  
  7. /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 repo

原文鏈接: javacodegeeks 翻譯: ImportNew.com 孫 彪彪
譯文鏈接: http://www.importnew.com/13718.html

 

 

責任編輯:張偉 來源: ImportNew
相關推薦

2009-06-15 13:24:46

JBoss數據源

2009-06-16 16:20:58

JBoss4配置Inf

2010-12-27 09:59:11

ODBC數據源

2024-10-30 10:22:17

2023-09-07 08:39:39

copy屬性數據源

2009-06-26 17:37:37

JBOSS配置

2020-12-31 07:55:33

spring bootMybatis數據庫

2015-12-25 16:37:02

RxJava數據源數據

2012-06-17 13:04:45

2010-05-14 15:32:51

配置MySQL

2023-01-04 09:33:31

SpringBootMybatis

2017-09-04 14:52:51

Tomcat線程數據源

2009-08-14 10:26:27

ibatis多數據源

2023-11-27 09:16:53

Python數據源類型

2014-08-15 09:55:09

SSIS

2012-09-04 13:48:57

云計算數據源Odata API

2009-07-14 09:55:33

MyEclipse W

2022-12-19 07:21:35

Hutool-db數據庫JDBC

2017-06-14 23:42:27

大數據數據源架構

2009-09-08 11:09:39

LINQ數據源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩av成人 | 91色视频在线观看 | 午夜a√| 久久99视频精品 | 久久激情网 | 免费成人在线网站 | 欧美片网站免费 | 欧美在线观看一区 | 91综合网 | 色婷综合网 | 亚洲一区视频在线 | 久久久久免费精品国产 | av大片| 欧美黑人激情 | 亚洲欧美日韩一区二区 | 男女视频在线观看免费 | 日韩欧美三区 | 久久久精品在线 | 日韩视频在线观看中文字幕 | 免费一级淫片aaa片毛片a级 | 天天干狠狠| 国内91在线| 日韩电影在线一区 | 一区欧美 | 国产午夜在线 | 在线一级片 | 成人网在线看 | 91久久精品一区二区二区 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 国产一卡二卡三卡 | av在线播放网站 | 五月婷婷亚洲 | 亚洲欧洲日韩精品 中文字幕 | 色免费在线视频 | 欧美成人高清 | 国产视频一区二区 | 在线免费观看视频你懂的 | 青青久草 | 国产精品99久久久久 | 色在线免费视频 | 在线第一页 |