JBoss AS 6.0.0。最终版

JBoss应用服务器(AS)6.0.0.Final于2010年12月28日发布。JBoss AS 6.0.0 Final是Java EE 6 Web Profile规范的完全认证实现,但它还引入了新的非EE 6功能。太。 在这次采访中,JAXenter在发行版中与JBoss应用服务器小组的经理Dimitris Andreadis进行了交谈……

JAXenter:为什么Application Server团队决定专注于AS 6.0.0.Final版本的构成Web Profile的技术?

Dimitris Andreadis: Web概要文件是Java EE标准领域中Red Hat创新的最高潮,我们认为它非常适合现代Web应用程序开发。

Web Profile是一个很好的起点,您可以在其之上分层放置其他Java EE技术(例如JMS,JAX-WS,JAX-RS等),以便创建足以用于大量应用程序的运行时环境。 此外,完整概要文件中其余的一些技术是旧技术,在EE7中已删除。

因此,我们决定将注意力集中在快速交付一套与开发人员当前和不久的将来最相关的EE标准上。 另外,由于概要文件的概念是Java EE的新功能,因此,首先提供Web概要文件是衡量社区对Web与Full EE 6概要文件的兴趣的好方法,因此我们可以计划下一步。

JAXenter:此版本中包含哪些非EE 6功能?

Dimitris Andreadis: JBoss AS 6.0在服务器的几乎所有区域中都有许多改进,因为大多数子系统已相对于AS 5.1进行了升级。

集群基础架构发生了一些显着变化。 我们已经用Infinispan替换了JBoss Cache,这减少了复制开销并扩展了很多。 但是,Infinispan不仅仅是分布式缓存。 它本身就是一个平台,旨在为云时代创建海量数据网格。 而且,我们包括了对mod_cluster的支持,因此JBoss集群可以在apache httpd服务器后面动态形成,并交换负载平衡和部署信息。 JBoss也应该使用IPv6地址。

EE组件引入了许多非EE功能,例如HornetQ取代JBoss Messaging成为JMS提供者,并提供了对大型消息的支持,高级群集方案和自动消息重新分发等功能,以及无与伦比的性能特征,包括超强的快速的本机持久性后端。 HornetQ的功能列表令人印象深刻,因此最好查看特定的项目文档。

对于Hibernate(作为我们的默认JPA提供程序)或JBossWS(作为Web服务提供程序)而言,现在也是如此,它捆绑了Apache CXF,从而取代了JBoss WS Native作为默认的后端实现。

JBoss AS6包含了最新的JBoss Microcontainer技术,您会注意到在减少内存占用空间和缩短启动时间方面进行了一些改进。 某些子系统在首次使用时会像懒惰般启动,例如管理控制台,因此服务器总体上应比AS 5.1轻一些。

但是,随着团队已经在努力的下一代JBoss AS的引入,将重新定义轻量级服务器的概念。

JAXenter:在AS 6最终定稿之前就开始在AS 7上进行开发。 这两个版本的开发重叠的原因是什么?

Dimitris Andreadis:要回答这个问题,我们首先需要提供一些背景知识。 从历史上看,JBoss AS是以增添方式构建的,随着规格和技术的发展或社区的贡献,新功能已添加到服务器。 我们很少删除技术,甚至在主要的重构中,如在AS 5中一样,我们已经设法以兼容的方式更改了底层内核,因此我们可以使大多数外围子系统保持不变。 但是,维护所有这些传统技术需要增加抽象量,这会增加服务器的占用空间。

而且,尽管我们许多现有用户都喜欢JBoss的配置模型,该模型可以访问服务器中的每个小细节,但是仍有一大批用户从其他专有供应商迁移到JBoss,而这些供应商已经习惯了使用更传统的域类型配置管理模型。 满足两类用户的需求,同时提高服务器的可用性和可管理性,从而使JBoss AS对管理员和操作人员更具吸引力,这意味着我们必须对基础配置和管理基础结构进行一些重大更改。

基于上述内容,JBoss AS的核心体系结构团队决定采用AS 7的另一种方法:首先对jboss内核(称为模块化服务容器)进行改进的重新版本化,并使用少量支持该标准的库来实现。通过增强的配置和管理功能在基本运行时环境中运行,然后清理并重新添加仍然相关的服务,以创建更精简,更快的服务器。

因此,这是一个很长的清理工作,应长期进行,并且AS6和AS7流之间需要并行开发一段时间,以最大程度地降低风险并验证新体系结构的基本假设。

JAXenter: AS 7的下一个版本计划了哪些功能,什么时候可以使用?

Dimitris Andreadis: AS7的下一个重要里程碑是在Spring时间的某个时候发布Beta版。 而AS7 Alpha1主要用于展示配置/管理功能和总体架构,同时集成核心服务(如JNDI,JMS / HornetQ,JCA / IronJacamar,JTA / JBossTS,OSGi,初始Servlet / JBossWeb支持等),AS7 Beta是关于提供一个更完整的服务器,该服务器最初以Java EE 6 Web Profile为目标,从而增加了对EJB3,CDI,Clustering等的支持。

综上所述,未来是光明的,但现在也很有吸引力。 AS 6.0 Final已发布,请继续使用它,告诉我们您的想法,并通过在JBoss论坛中进行讨论来解决您可能发现的任何问题。 从AS 5.1升级应该相对简单。

与往常一样,非常感谢一直密切关注并为AS6的发展做出贡献的社区。


翻译自: https://jaxenter.com/jboss-as-6-0-0-final-102852.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EJB3.1 JBoss7.0.2 EclipseJuno-helloworld实现 2013-01-06 02:59:54 分类: Java EJB3.1 JBoss7.1 Eclipse3.7---helloworld实现 一、环境配置: JDK:正常配置 Eclipse:正常下载,解压(V3.7) JBoss:正常下载,解压(V7.1) 二、JBoss Tools安装 在Eclipse里面安装JBoss Tools3.3 1、【Help】——>【Install New Software】——>【Add】 输入: Name: JBossTools Location: http://download.jboss.org/jbosstools/updates/development/indigo/ ——>【OK】——>【Select All】——>【Next】 ——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】 2、【Help】——>【Install New Software】——>【Add】 输入: Name: JBossTools Aop Location: http://download.jboss.org/jbosstools/updates/development/indigo/soa-tooling/ ——>【OK】——>【Select All】——>【Next】 ——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】 三、Eclipse里面配置JBoss 【File】——>【New】——>【Other】 (找到Server,并且选择)——>【Next】 (找到JBoss Community,选择JBoss AS 7.1)——>【Next】 (找到Home Directory)——>【Browse…】——> (选择JBoss解压的位置,即JBoss Home)——> (找到JRE,选择你安装的JRE)——>【Next】 ——>【Next】——>【Finish】 以上步骤完毕后,在Servers视图内会有JBoss服务器出现。 点击该视图内的启动按钮,JBoss服务器开始启动 浏览器可以访问http://127.0.0.1:8080/,就算配置成功。 四、第一个EJB工程 【File】——>【New】——>【Other】 (找到EJB,并且选择EJB Project)——>【Next】 输入: Project name:TestEJB Target runtime:选择JBoss7.1 EJB module version:选择3.1 ——>【Next】——>【Next】 (选择Generate ejb-jar.xml deployment descriptor) ——>【Finish】 生成的目录结构中,ejbModule目录为我们要写JAVA源代码的目录。 即EJB写在这里。 在ejbModule目录上右键【New】——>【Other】 (找到EJB,并且选择Session Bean(EJB 3.x))——>【Next】 输入:包名(com.ejb)、EJB类名(HelloWorld), State type部分:选择Stateless 然后选择Remote ——>【Finish】 自动生成代码如下: package com.ejb; import javax.ejb.Remote; @Remote public interface HelloWorldRemote { } package com.ejb; import javax.ejb.LocalBean; import javax.ejb.Stateless; /** * Session Bean implementation class HelloWorld */ @Stateless @LocalBean public class HelloWorld implements HelloWorldRemote { /** * Default constructor. */ public HelloWorld() { // TODO Auto-generated constructor stub } } 在接口里面增加以下方法 public String sayHello(String name); 类里面实现该方法 public String sayHello(String name){ return "Hello this is " + name + "!"; } 五、部署EJB 在工程上右键——>【Export】——>【EJB JAR file】 在Destination处:——>【Browse…】——> 选择JBoss服务器的部署目录,我的目录如下: D:\eclipse-jboss\jboss-as-7.1.1.Final\standalone\deployments\TestEJB.jar 然后——>【Finish】 在Console视图会出现详细部署信息 六、客户端代码 1、新建一个普通Java Project工程: 2、加入JBOSS运行库,及jboss\bin\client下的jboss-client.jar包 3、把EJB的接口拷贝到该工程内: 4、新建一个客户端类:类名(ClientTest) 代码如下: import java.util.Hashtable; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import com.ejb.HelloWorldRemote; public class ClientTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Hashtable<String, String> jndiProperties = new Hashtable<String, String>(); jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); try { Context context = new InitialContext(jndiProperties); final String appName = ""; final String moduleName = "TestEJB"; final String distinctName = ""; Object obj = context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/HelloWorld!com.ejb.HelloWorldRemote"); HelloWorldRemote hwr = (HelloWorldRemote)obj; String say = hwr.sayHello("hiyaSoft"); System.out.println(say); } catch (NamingException e) { e.printStackTrace(); } } } 5、在classPath下增加“jboss-ejb-client.properties”文件,内容如下 remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false 6、运行该客户端,有如下结果: Hello hiyaSoft!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值