JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly
来源:互联网 发布:数据库编辑器有哪些 编辑:程序博客网 时间:2024/05/21 14:10
内容概要
JBoss系列三主要目的是演示如何部署应用到JBoss7/WildFly,如下图中描述了部署应用的四种方式:
如上四种方式包括:
- Administration UI Console
- Command Line Console
- Maven Plugin(jboss-as-maven-plugin)
- copy
为了测试部署,我们需要编译生产部署的应用,使用git clone 我们本系列所需的测试代码(参照系列一github客户端安装部分),clone完成后进入系列三目录,也是我们这里所使用的测试工程,具体:
cd csdn/3/在该目录下执行Maven(Maven安装参照系列一Maven安装部分)编译系列三工程:
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:
[kylin@localhost bin]$ ./jboss-cli.shYou 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目录部署应用
[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目录部署下创建jaxws-helloworld.jar.dodeploy文件,则JBoss会完成部署,完成后会生成jaxws-helloworld.jar.deployed文件如下:
[kylin@localhost deployments]$ cp /home/kylin/work/project/csdn/3/target/jaxws-helloworld.jar ./[kylin@localhost deployments]$ lsjaxws-helloworld.jar jaxws-helloworld.jar.deployed
部署完成检测
1.从日志检查部署是否完成
JBoss 启动终端输出如下信息表示部署完成:
12:36:25,096 INFO [org.jboss.web] (MSC service thread 1-6) JBAS018210: Registering web context: /jaxws-helloworld12: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.apache.org/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如下代码端:
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());}}
运行如上代码Web Service 返回Hello World字符串,如下:
HelloWorld, JAX-WS!
- JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly
- JBoss 系列六十四:部署JMX MBean到JBoss 7/WildFly
- JBoss WildFly(JBoss8)如何将应用部署到根上下文
- JBoss 系列四:JBoss7/WildFly中EJB调运示例
- JBoss 系列十六:JBoss7/WildFly配置domain模式
- JBOSS7 部署应用的几种方式
- JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件
- JBoss 系列十五:JBoss7/WildFly集群中新节点加入状态交换过程
- JBoss 系列四十八:JBoss 7/WildFly 使用TCP构建集群
- JBoss 系列四十九:JBoss 7/WildFly 中端口使用列表
- Jboss低版本项目热部署到Jboss7
- 利用Maven2的插件方式通过Cargo来远程部署应用到Jboss7上
- JBoss 系列五十二:JBoss 7/WildFly中替换默认的欢迎Web应用
- JBoss 系列五:JBoss 7/WildFly中配置使用Oracle数据库
- JBoss 系列六:JBoss 7/WildFly中配置使用JMS消息队列
- JBoss 系列 六十:JBoss 7/WildFly中配置使用Mysql数据库
- Jboss7或者wildfly部署war包的问题
- 解决wildfly部署包含netty3.xjar应用出现的org.jboss.msc.service.DuplicateServiceException
- C#中ADO.NET连接数据库中的DbNull 与 null的区别
- Github执行git add -A 出现 LF will be replaced by CRLF in *
- 字符串匹配问题:KMP算法
- 十道大数据的题
- c++有关编译期和运行期的访问
- JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly
- 十七道海量数据面试题
- 使用GNU 编译OBjectC
- hibernate之HQL之参数绑定
- Ringo.js嵌入集成(二):使用Listener Filter替换官方的JsgiServlet实现
- OpenCL 和 CUDA 之间的区别
- Windows下的Objective-C集成开发环境(IDE)的搭建
- Crazy Tea Party
- CF204 Div 1 题解