`
阿男bluedash
  • 浏览: 169004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBoss AS 7 快速上手

阅读更多
(注:本文撰写时7.0.0.CR1是最新版本,目前已经有7.1发布,但下面的内容是通用的)

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


是一个猜数字的游戏:



有关这个例子的技术细节不是本文的重点。有兴趣可参考蓝点专门介绍CDI,Weld,Java EE6方面的文章。

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

[1] http://www.jboss.org/webinars - JBoss AS开发人员的技术文章汇总,非常多的好东西。

[2] https://docs.jboss.org/author/display/AS7/Getting+Started+Developing+Applications+Guide - QuickStart里面所包含的例子的详细讲解。目前还没有中文版,有空我会重点挑一两个来介绍。

[3] http://jboss.org/tools - JBoss Tools,在Eclipse里面进行AS7和Java EE相关项目开发的插件,Redhat自己在维护这些项目,与JBoss AS结合的也非常紧密。
  • 大小: 19.3 KB
  • 大小: 38.1 KB
分享到:
评论

相关推荐

    jboss as7 文档

    3. **快速入门**:提供了一系列快速上手的例子,帮助新用户快速熟悉JBoss AS7的基本操作。 4. **更多资源**:链接到其他相关文档、论坛和技术支持信息。 5. **管理指南**:深入讲解JBoss AS7的管理接口、概念以及...

    JBoss AS5 安装上手指南

    本文档旨在提供一个全面的安装与上手指南,帮助开发者快速掌握 JBoss AS5 的安装配置及基本使用方法。 #### 二、新特性概述 ##### 1.1 概览 JBoss AS5 带来了大量的改进和增强功能,包括但不限于对 EJB 3.0 和 Java...

    Jboss7快速入门手册.pdf

    ### JBoss7快速入门手册知识点概述 #### 一、JBoss各主要版本特性 ...通过以上介绍可以看出,《Jboss7快速入门手册》涵盖了从安装到配置、从理论到实践的全方位指导,非常适合初次接触JBoss AS 7的用户快速上手。

    jboss7开发部署详细文档

    本文档提供了jboss7开发和部署的详细指导,涵盖了jboss7的下载与安装、Eclipse中配置jboss7、项目部署和JNDI获取等方面的内容,旨在帮助开发者快速上手jboss7,并将jboss4.2版本平滑地移植到jboss7。

    Admin-Console-QuickStart of JBoss

    - 访问JBoss AS社区下载页面:[http://www.jboss.org/jbossas/downloads/](http://www.jboss.org/jbossas/downloads/) - 下载适用于您的JDK版本的平台独立ZIP分发包: - Java SE 5 – jboss-5.1.0.GA.zip - Java...

    jboss4.3 起步指南

    本文档旨在通过一系列实践指导和深入解析,帮助用户快速上手JBoss AS 4.3,并了解其核心功能与特性。 #### 特性介绍 - **高度可配置性**:JBoss AS 4.3允许用户根据具体项目需求进行细致的配置调整。 - **广泛兼容...

    JBoss_Application_Server_7.1官方文档.pdf

    在JBoss AS 7.1的官方文档中,主要内容被分为几个关键部分,以便于不同角色的用户,包括管理员、开发者以及有兴趣快速上手的用户,可以分别找到对应的指南和示例。 首先是管理员指南(AdminGuide),它主要针对...

    JBOSS的目录结构介绍

    了解JBOSS的目录结构对于快速上手和高效使用JBOSS至关重要。在本节中,我们将详细介绍JBOSS的目录结构,帮助初学者快速了解JBOSS的目录结构。 bin目录 bin目录是JBOSS的入口点,包含了启动、关闭和其他系统相关的...

    快速配置Jboss开发与测试环境-初学者快速指导

    JBoss AS(Application Server),现在被称为WildFly,是一款开源的Java EE应用服务器,广泛用于开发和部署企业级应用程序。以下内容将围绕如何在JBoss中快速部署一个Web应用的开发或测试环境展开,特别关注于JBoss ...

    JBoss Application Server Installation And Getting Started Guide

    本文档旨在帮助开发者了解如何安装和配置JBoss Application Server,并通过一些基本示例来快速上手。 #### 二、JBoss AS 5.1 版本概述 在JBoss AS 5.1版本中,进行了大量的改进和升级,主要亮点如下: ##### 2.1 ...

    jboss ejb3.0开发介绍

    ### jBoss EJB 3.0 开发指南 #### 一、引言 随着 Java 技术的发展,企业级应用的复杂度不断提高,EJB(Enterprise ...通过这些步骤,开发者可以快速上手 EJB 3.0 的开发,并将其应用于实际的企业级应用开发中。

    晾晾多年珍藏JBossIDE-Install.pdf

    本篇文章将详细介绍JBoss IDE的安装过程,帮助初学者快速上手。 首先,下载JBoss IDE。通常,你可以从Red Hat的官方网站或者通过访问提供的博文链接(https://linres.iteye.com/blog/583463)获取最新版本的安装包...

    JBoss ESB Getting Started

    - 熟悉JBoss AS或WildFly服务器:尽管不是必需条件,但对于JBoss AS或WildFly服务器有基本了解可以帮助用户更快地上手JBoss ESB的配置和部署过程。 #### 三、文档组织结构与内容概览 文档主要包括以下几个部分: ...

    Jboss7.1.1p配置mysql和oracle以及项目调用参照.pdf

    ### JBoss 7.1.1p 配置 MySQL 和 Oracle 数据库以及项目调用方法详解 #### 一、概述 在本篇文章中,我们将详细探讨如何在JBoss...这对于开发人员来说是非常实用的操作指南,能够帮助他们快速上手并在实际项目中应用。

    JBoss Portal参考

    JBoss Portal支持基于JSR 168标准的portlet开发,提供了一系列教程帮助开发者快速上手。 - **JSR-168概述**:介绍了portlet的基本概念,包括页面、渲染模式、窗口状态和部分状态。 - **教程**:包含部署第一个...

Global site tag (gtag.js) - Google Analytics