文档章节

【转】JBoss AS 7 快速上手

mj4738
 mj4738
发布于 2012/02/16 16:25
字数 1501
阅读 1668
收藏 8

        JBoss AS7 最近发布了 7.0.0.CR1 版本,CR意即Candidate Release(候选发布版),是JBoss AS在Alpha → Beta之后相对比较完整的一个版本,包含了CDI,JAX-RS等诸多重要特性。这次的7.0.0.CR1版本代号White Rabbit(白兔子)。由于采用了新的MSC内核和JBoss Modules架构,其运行和启动速度真正做到了动若脱兔。让我们一起来体验下吧!

首先是下载JBoss AS 7.0.0.CR1,访问JBoss AS的下载页面:

http://www.jboss.org/jbossas/downloads

将最新版的JBoss AS7下载下来(本文撰写时最新版本为7.0.0.CR1,代号White Rabbit):

除了JBoss AS以外,我们还可以把quickstarts包一起下载下来,这个包里面含有一些样例工程,可以部署进JBoss AS 7,我们稍后讨论。

JBoss AS7的安装包下载完成后,将其解压。解压缩完成后,我们可以看看AS7里面都有什么内容:

/jboss-7.0.0.CR1$ ls
bin               docs              jboss-modules.jar standalone
bundles           domain            modules           welcome-content

可以看到AS7的目录结构和AS6及之前的版本有很大的不同了,这是由于AS7的架构与之前的版本相比,经历了重新架构和代码重写,有了本质上的飞跃。探讨AS7的设计架构不是本文重点,我们继续来看如何运行及启动它:进入bin目录,可以看到有一些命令可供我们使用:

/jboss-7.0.0.CR1/bin$ ls
domain.bat          jboss-admin.bat     standalone.conf     wsconsume.sh
domain.conf         jboss-admin.sh      standalone.conf.bat wsprovide.bat
domain.conf.bat     scripts             standalone.sh       wsprovide.sh
domain.sh           standalone.bat      wsconsume.bat

        AS7提供的命令也和AS6有了很大的不同,熟悉的  run.sh 没有了。取而代之的是 standalone.sh 和  domain.sh 。AS7不再使用统一的  run.sh 加上启动环境参数(default, all)的方式来管理服务,而是将启动方式区分为独立运行(standalone)和域运行(domain)。AS7默认支持多域,在架构上面与原来的组播群集有很大的不同,我会在随后的文章中重点介绍。在这里我们可以首先试玩下以独立模式启动AS7,使用standalone.sh(如果是在Windows下,运行standalone.bat)启动AS7服务器:
 
liweinan@cute:~/projs/jboss-7.0.0.CR1/bin$ ./standalone.sh 
...
20:13:57,559 INFO  [org.jboss.modules] JBoss Modules version 1.0.0.CR4
20:13:58,168 INFO  [org.jboss.msc] JBoss MSC version 1.0.0.CR2
20:13:58,316 INFO  [org.jboss.as] JBoss AS 7.0.0.CR1 "White Rabbit" starting
20:14:00,314 INFO  [org.jboss.as] creating http management service using network interface (management) port (9990) securePort (-1)
...
20:14:00,369 INFO  [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying JDBC-compliant driver class org.h2.Driver (version 1.2)
20:14:00,664 INFO  [org.jboss.as.naming] (Controller Boot Thread) Activating Naming Subsystem
20:14:00,698 INFO  [org.jboss.as.naming] (MSC service thread 1-1) Starting Naming Service 
20:14:00,715 INFO  [org.jboss.as.osgi] (Controller Boot Thread) Activating OSGi Subsystem
20:14:00,767 INFO  [org.jboss.as.security] (Controller Boot Thread) Activating Security Subsystem
20:14:00,784 INFO  [org.jboss.remoting] (MSC service thread 1-2) JBoss Remoting version 3.2.0.Beta2
20:14:00,821 INFO  [org.xnio] (MSC service thread 1-2) XNIO Version 3.0.0.Beta3
20:14:00,856 INFO  [org.xnio.nio] (MSC service thread 1-2) XNIO NIO Implementation Version 3.0.0.Beta3
20:14:01,193 INFO  [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-4) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
20:14:01,268 INFO  [org.jboss.as.jmx.JMXConnectorService] (MSC service thread 1-1) Starting remote JMX connector
20:14:01,289 INFO  [org.jboss.as.ee] (Controller Boot Thread) Activating EE subsystem
20:14:01,347 INFO  [org.jboss.as.remoting] (MSC service thread 1-2) Listening on /127.0.0.1:9999
20:14:01,359 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-3) Starting Coyote HTTP/1.1 on http--127.0.0.1-8080
20:14:01,395 WARN  [org.jboss.osgi.framework.internal.URLHandlerPlugin] (MSC service thread 1-2) Unable to set the URLStreamHandlerFactory
20:14:01,398 WARN  [org.jboss.osgi.framework.internal.URLHandlerPlugin] (MSC service thread 1-2) Unable to set the ContentHandlerFactory
20:14:01,882 INFO  [org.jboss.as.connector] (MSC service thread 1-1) Starting JCA Subsystem (JBoss IronJacamar 1.0.0.CR2)
20:14:01,987 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) Bound data source [java:jboss/datasources/ExampleDS]
20:14:03,073 INFO  [org.jboss.as.deployment] (MSC service thread 1-2) Started FileSystemDeploymentService for directory /Users/liweinan/projs/jboss-7.0.0.CR1/standalone/deployments
20:14:03,098 INFO  [org.jboss.as] (Controller Boot Thread) JBoss AS 7.0.0.CR1 "White Rabbit" started in 6107ms - Started 91 of 146 services (55 services are passive or on-demand)


 

从启动日志里面可以看出来,AS7使用了新的JBoss Module来加载模块,这是AS7中全新的设计。此外,新的MSC内核的身影也可以在日志中看到。此外,默认启动的模块还包括XNIO高速IO,JCA子系统等。看一下最后一行,AS7的启动时间,在我的Macbook Air 1.4Ghz Core Duo + 2GB内存的低配下达到了惊人的6秒。

        接下来我们试着在AS7上面部署应用玩玩看,刚才一起下载的quickstart包有用了,里面有一些可供部署了例子,我们将压缩包解开,使用里面的numberguess例子,进入到numberguess目录,执行mvn的部署命令:

/jboss-as-quickstarts-7.0.0.CR1/numberguess$ mvn jboss-as:deploy

确保机器里面安装了Maven 3,上面的命令应该可以正确执行,执行完成后,这个例子会被部署到已经运行起来的AS7服务器上,并在AS7的日志输出如下:
22:20:28,184 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) Starting deployment of "jboss-as-numberguess.war"
22:20:28,340 INFO  [org.jboss.weld] (MSC service thread 1-8) Processing CDI deployment: jboss-as-numberguess.war
22:20:28,390 INFO  [org.jboss.weld] (MSC service thread 1-7) Starting Services for CDI deployment: jboss-as-numberguess.war
22:20:28,414 INFO  [org.jboss.weld.Version] (MSC service thread 1-7) WELD-000900 1.1.2 (AS7)
22:20:28,437 INFO  [org.jboss.weld] (MSC service thread 1-3) Starting weld service
22:20:28,777 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-8) Initializing Mojarra 2.0.4 (FCS b09) for context '/jboss-as-numberguess'
22:20:29,514 INFO  [org.jboss.web] (MSC service thread 1-8) registering web context: /jboss-as-numberguess
22:20:29,557 INFO  [org.jboss.as.server.controller] (pool-1-thread-1) Deployed "jboss-as-numberguess.war"


从日志中我们可以看到,AS7检测到待部署的项目需要Weld模块,因此在此时AS7中的Weld模块才被加载,这种加载方式被称为按需加载(on-demand),只有在需要的时候加载相应的模块,从而大大加快了AS7本身的启动速度。

我们来玩玩看这个例子,访问页面:

http://127.0.0.1:8080/jboss-as-numberguess/home.jsf

是一个猜数字的游戏:

         最后提供一些常用的AS7参考资料

本文转载自:http://bluedash.net/spaces/JBoss%20AS%207%20%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B

mj4738

mj4738

粉丝 295
博文 489
码字总数 119327
作品 0
崇明
高级程序员
私信 提问
JBoss 系列二十八:JBoss Data Grid(Infinispan)CarMart 示例

JBoss Data Grid是Red Hat中间件产品(http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/),JBoss Data Grid是基于开源社区产品Infinispan(http://infinispan.org/)。......

无鸯
2014/02/04
0
0
JBoss EAP 7 Beta 发布,JBoss 企业应用平台

JBoss EAP 7 Beta 发布了,下载地址:http://www.jboss.org/products/eap/download/ JBoss AS是最成功的开源Java项目之一,具备架构先进、使用简单、技术创新等特性。自1999年面世至今,JBo...

红薯
2016/02/16
874
1
JBoss 系列八十九: JBoss 7/WildFly 中如何阻止一个模块被默认加载

概述 如前面 JBoss Modules 简单介绍等的介绍,JBoss 7/WildFly 使用模块化的类加载机制,它定义了模块之间的明确依赖关系, JBoss 7/WildFly 启动时一些模块会被默认加载,JBoss 的日志系统是...

无鸯
2014/02/04
0
0
Snowdrop 2.0 发布,Spring 的 JBoss 扩展

Snowdrop 发布 2.0.0 正式版,Snowdrop 是 JBoss.org 提供的针对 JBoss AS 特有的 Spring 扩展和工具包。 2.0 版本主要针对 JBoss 6 和 7 的兼容性更新。针对JBoss AS7,Snowdrop 添加了 Sn...

华宰
2011/10/19
562
0
JBoss 系列五十:使用Apache httpd(mod_jk)和JBoss构架高可用集群环境

概述 前面JBoss 系列二:使用Apache httpd(modcluster)和JBoss构架高可用集群环境中我们介绍了企业应用的目的的目的,负载均衡,容错等,并通过Apache httpd(modcluster)和JBoss构架高可用集...

无鸯
2014/02/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Leetcode PHP题解--D88 696. Count Binary Substrings

D88 696. Count Binary Substrings 题目链接 696. Count Binary Substrings 题目分析 给定一个01字符串,返回仅用连续的0和1串所能组成的二进制字符串个数。 例如,00110011,就包含0011,0...

skys215
今天
2
0
基础工具类

package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

architect刘源源
今天
45
0
P30 Pro劲敌!DxO官宣新机:排行榜又要变

5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

linux-tao
昨天
16
0
Ubuntu18.04.2窗口过小不能自适应(二次转载)

解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

tahiti_aa
昨天
2
0
死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

彤哥读源码
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部