分享

JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly

 菩提与蜗牛 2016-01-28

内容概要

JBoss系列三主要目的是演示如何部署应用到JBoss7/WildFly,如下图中描述了部署应用的四种方式:


如上四种方式包括:

  • Administration UI Console
  • Command Line Console
  • Maven Plugin(jboss-as-maven-plugin)
  • copy

为了测试部署,我们需要编译生产部署的应用,使用git clone 我们本系列所需的测试代码(参照系列一github客户端安装部分),clone完成后进入系列三目录,也是我们这里所使用的测试工程,具体:

  1. cd csdn/3/  
在该目录下执行Maven(Maven安装参照系列一Maven安装部分)编译系列三工程:

  1. mvn clean install    
编译完成后会生成jaxws-helloworld.jar,位于csdn/3/target目录下。启动JBoss并添加管理用户名(参照系列一JBoss安装)。接下来我们演示通过4中方式部署应用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. 进入到Command Line Console界面,连接到localhost:9999:

  1. [kylin@localhost bin]$ ./jboss-cli.sh  
  2. You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.  
  3. [disconnected /] connect   
  4. [standalone@localhost:9999 /]  
2. 使用deploy命令部署jaxws-helloworld.jar

  1. [standalone@localhost:9999 /] deploy /home/kylin/work/project/csdn/3/target/jaxws-helloworld.jar  
同样使用

  1. [standalone@localhost:9999 /] undeploy jaxws-helloworld.jar  
移除jaxws-helloworld.jar

使用Maven Plugin(jboss-as-maven-plugin)部署

1. 在pom.xml中配置了jboss-as-maven-plugin,如下:

  1. <plugin>  
  2.                 <groupId>org.jboss.as.plugins</groupId>  
  3.                 <artifactId>jboss-as-maven-plugin</artifactId>  
  4.                 <version>7.3.Final</version>  
  5. </plugin>  

2. 使用如下Maven目录部署应用

  1. [kylin@localhost 3]$ mvn jboss-as:deploy  

同样使用undeploy可以移除jaxws-helloworld.jar,如下

  1. [kylin@localhost 3]$ mvn jboss-as:undeploy  

使用拷贝方式部署

1. 拷贝jaxws-helloworld.jar到JBOSS_HOME/standalone/deployments目录部署

2. 在JBOSS_HOME/standalone/deployments目录部署下创建jaxws-helloworld.jar.dodeploy文件,则JBoss会完成部署,完成后会生成jaxws-helloworld.jar.deployed文件如下:

  1. [kylin@localhost deployments]$ cp /home/kylin/work/project/csdn/3/target/jaxws-helloworld.jar ./  
  2. [kylin@localhost deployments]$ ls  
  3. jaxws-helloworld.jar  jaxws-helloworld.jar.deployed  

部署完成检测

1.从日志检查部署是否完成

JBoss 启动终端输出如下信息表示部署完成:

  1. 12:36:25,096 INFO  [org.jboss.web] (MSC service thread 1-6) JBAS018210: Registering web context: /jaxws-helloworld  
  2. 12:36:25,235 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018559: Deployed "jaxws-helloworld.jar"  

2. 运行测试代码

由于jaxws-helloworld.jar部署了一个简单的WebService应用到JBoss上,所以我们可以运行WebService客户程序进行测试。JBoss 7默认WebService使用Apache CXF实现,从CXF文档(http://cxf./docs/how-do-i-develop-a-client.html)可以下五种方法编写客户端程序:

  • WSDL2Java generated Client
  • JAX-WS Proxy
  • JAX-WS Dispatch APIs
  • Simple Frontend Client Proxy
  • Dynamic Client

这里我们使用JAX-WS API如下代码端:

  1. import java.net.URL;  
  2.   
  3. import javax.xml.namespace.QName;  
  4. import javax.xml.ws.Service;  
  5.   
  6. import com.kylin.jaxws.helloworld.HelloWorld;  
  7.   
  8. public class HelloWorldClient {  
  9.     public static void main(String[] args) throws Exception {  
  10.   
  11.         final QName serviceName = new QName("com.kylin.jaxws.helloworld""HelloWorldService");  
  12.         final URL wsdlURL = new URL("http://localhost:8080/jaxws-helloworld/HelloWorldService/HelloWorldService?wsdl");  
  13.   
  14.         final Service service = Service.create(wsdlURL, serviceName);  
  15.         final HelloWorld helloworld = (HelloWorld) service.getPort(HelloWorld.class);  
  16.           
  17.         System.out.println(helloworld.helloworld());  
  18.           
  19.     }  
  20. }  

运行如上代码Web Service 返回Hello World字符串,如下:

  1. HelloWorld, JAX-WS!  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多