內(nèi)容概要JBoss系列三主要目的是演示如何部署應(yīng)用到JBoss7/WildFly,如下圖中描述了部署應(yīng)用的四種方式:
如上四種方式包括:
為了測試部署,我們需要編譯生產(chǎn)部署的應(yīng)用, 使用git clone 我們本系列所需的測試代碼(參照系列一 github客戶端安裝 部分),clone完成后進(jìn)入系列三目錄,也是我們這里所使用的測試工程,具體: cd csdn/3/在該目錄下執(zhí)行Maven( Maven安裝參照 系列一 Maven 安裝部分 )編譯 系列三 工程: mvn clean install編譯 完成后會(huì)生成jaxws-helloworld.jar,位于csdn/3/target目錄下。啟動(dòng)JBoss并添加管理用戶名(參照 系列一JBoss安裝 )。接下來我們演示通過4中方式部署應(yīng)用jaxws-helloworld.jar。 通過Administration UI Console部署1. 使用管理用戶登錄到Administration UI Console( http://localhost:9990/console )。 2.部署 在顯示出的界面選擇 Runtime -> Server -> Manage Deployments -> Add -> Browse(選擇jaxws-helloworld.jar絕對路徑) -> Next -> Save -> En/Disable,部署完成如下圖
通過Command Line Console部署1. 進(jìn)入到Command Line Console界面,連接到localhost:9999: [kylin@localhost bin]$ ./jboss-cli.sh You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands. [disconnected /] connect [standalone@localhost:9999 /]2. 使用deploy命令部署jaxws-helloworld.jar [standalone@localhost:9999 /] deploy /home/kylin/work/project/csdn/3/target/jaxws-helloworld.jar同樣使用 [standalone@localhost:9999 /] undeploy jaxws-helloworld.jar移除jaxws-helloworld.jar 使用Maven Plugin(jboss-as-maven-plugin)部署1. 在pom.xml中配置了jboss-as-maven-plugin,如下: <plugin> <groupId>org.jboss.as.plugins</groupId> <artifactId>jboss-as-maven-plugin</artifactId> <version>7.3.Final</version> </plugin> 2. 使用如下Maven目錄部署應(yīng)用 [kylin@localhost 3]$ mvn jboss-as:deploy 同樣使用undeploy可以移除jaxws-helloworld.jar,如下 [kylin@localhost 3]$ mvn jboss-as:undeploy 使用拷貝方式部署1. 拷貝jaxws-helloworld.jar到JBOSS_HOME/standalone/deployments目錄部署 2. 在JBOSS_HOME/standalone/deployments目錄部署下創(chuàng)建jaxws-helloworld.jar.dodeploy文件,則JBoss會(huì)完成部署,完成后會(huì)生成jaxws-helloworld.jar.deployed文件如下: [kylin@localhost deployments]$ cp /home/kylin/work/project/csdn/3/target/jaxws-helloworld.jar ./ [kylin@localhost deployments]$ ls jaxws-helloworld.jar jaxws-helloworld.jar.deployed 部署完成檢測1.從日志檢查部署是否完成 JBoss 啟動(dòng)終端輸出如下信息表示部署完成: 12:36:25,096 INFO [org.jboss.web] (MSC service thread 1-6) JBAS018210: Registering web context: /jaxws-helloworld 12:36:25,235 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018559: Deployed "jaxws-helloworld.jar" 2. 運(yùn)行測試代碼 由于jaxws-helloworld.jar部署了一個(gè)簡單的WebService應(yīng)用到JBoss上,所以我們可以運(yùn)行WebService客戶程序進(jìn)行測試。JBoss 7默認(rèn)WebService使用Apache CXF實(shí)現(xiàn),從CXF文檔( http://cxf./docs/how-do-i-develop-a-client.html )可 以下五種方法編寫客戶端程序:
這里我們使用JAX-WS API如下代碼端: import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; import com.kylin.jaxws.helloworld.HelloWorld; public class HelloWorldClient { public static void main(String[] args) throws Exception { final QName serviceName = new QName("com.kylin.jaxws.helloworld", "HelloWorldService"); final URL wsdlURL = new URL("http://localhost:8080/jaxws-helloworld/HelloWorldService/HelloWorldService?wsdl"); final Service service = Service.create(wsdlURL, serviceName); final HelloWorld helloworld = (HelloWorld) service.getPort(HelloWorld.class); System.out.println(helloworld.helloworld()); } } 運(yùn)行如上代碼Web Service 返回Hello World字符串,如下: HelloWorld, JAX-WS! |
|