`
logicgate
  • 浏览: 97739 次
  • 性别: Icon_minigender_1
  • 来自: 新力吐皮
社区版块
存档分类
最新评论

EJB 3 学习笔记: GlassFish 入门

    博客分类:
  • Java
阅读更多

1。下载,安装

电脑上必须预先安装Jdk5 or Jdk6,并且设置JAVA_HOME环境变量。从Sun的网站上下载 GlassFish v2.1 final build,是一个jar文件。下载后运行:

F:\>java -Xmx256m -jar glassfish-installer-v2ur2-b04-windows.jar

 

如果这里不加上-Xmx256m,很有可能会报OutOfMemoryException。这个命令会产生一个名为glassfish的目录。在glassfish目录下运行:F:\glassfish>lib\ant\bin\ant -f setup.xml

如果最后能看到“BUILD SUCCESSFUL”,就说明GlassFish已经安装成功了。GlassFish会建立一个名为“domain1“的域。

 

打开setup.xml文件我们可以看到默认的配置:

<property name="domain.name" value="domain1"/>
<property name="instance.name" value="server"/>
<property name="admin.user" value="admin"/>
<property name="admin.password" value="adminadmin"/>
<property name="admin.port" value="4848"/>
<property name="instance.port" value="8080"/>
<property name="orb.port" value="3700"/>
<property name="imq.port" value="7676"/>
<property name="https.port" value="8181"/>

 如果想自定义domain name, user, password or ports,可以手动修改这个文件后再进行安装。

 

2。启动GlassFish服务器

将%glassfish_home%\bin目录添加到path环境变量中。在任意目录下键入asadmin start-domain即可启动default domain (domain1)。成功启动后在http://localhost:8080/可以看到服务器欢迎页面。

 

3。使用admin console

admin console是一个基于web的服务器管理和配置平台。在浏览器中键入http://localhost:4848就可以看到登陆页面。使用setup.xml中定义的user & password即可登陆。点击左侧树形结构上的节点可以在右侧窗口察看相应的管理项目。

 

Applications: 管理domain中部署的应用。

Application Server -> General:start & stop instance, view log files, JNDI browsing。。。

Application Server -> Adminstrator Password:修改admin console的密码

 

4。GlassFish的基本概念

 

Domain: 域(Domain)是GlassFish的一个核心概念,我们可以为每个GlassFish服务器建立多个域,而域里面又可以包含多种可管理的资源,包括实例、集群及它们各自资源。需要注意的是,一个可管理的资源,例如一个实例,只能专属于一个域。

 

Domain Administrator Server(DAS): 域管理服务器。DAS是GlassFish的一个核心组件,在集群的环境中,每个GlassFish服务器可能会存在多个服务实例 (Instance),DAS本身也是一个符合Java EE5规范的服务实例,主要是为GlassFish提供核心管理的功能。所有对域的管理操作,例如Netbeans IDE以及其他工具的管理请求,都是由DAS分发到各个服务器实例去的,而不是直接连接到各个服务器实例。 对于一些需要多个实例进行操作的管理请求,DAS会将操作请求广播到各个实例上去,所以,当DAS停止运行后,各种对域的管理操作都不能进行,当然,即使 DAS已经停止了运行,域的集群和服务器实例仍然可以正常工作,只要域还在正常运行。

 

Node: 一般来说,一个node(节点)就代表一个独立主机。一个很大的机器可能会分割为多个独立的节点。 节点需要一个轻量级的代理(Node Agent)来对服务器实例进行远程生命周期管理。节点代理主要负责实例的启动,停止以及创建,同时,也承担监视者以及重启失效进程的责任。

 

Server Instance: 服务器实例。 一个实例指的是掌管Java EE 5应用服务器的Java虚拟机。实例间的通信以及和DAS之间的通信是依赖于远程MBean方法的调用的。

 

感觉这和Oracle的RAC架构很相似。我们可以为oracle建立多个database,每一个database可以包含多个instance,Enterprise Grid Control负责管理所有的instance。

 

5。Domain的管理

 

5.1 create domain

 

F:\>asadmin create-domain --adminport 4849 myFirstDomain

成功后在%glassfish_home%\domains下可以看到myFirstDomain目录。asadmin start-domain myFirstDomain后键入http://localhost:4849即可登陆admin console。

 

直接在命令行键入asadmin create-domain可以看到所有可接受的参数。其中adminport和domain name是必需的,否则asadmin会报错。

 

--profile可以为创建的domain指定一个profile。如果没有显示的指定profile,asadmin会使用%glassfish_home%\config\asadminenv.conf中AS_ADMIN_PROFILE定义的缺省profile(developer)。GlassFish提供developer,cluster & enterprise三种profile。GlassFish的admin guide上面说:Do not create an enterprise domain unless you have HADB and the Network Security Services (NSS) keystore。就是说不要随便创建enterprise profile玩。HADB应该是指高可用性数据库,NSS keystore是什么我就不明白了。

 

--domaindir可以指定domain的目录。缺省目录为%glassfish_home%\domains

 

5.2 start & stop & delete & list domain

 

F:\>asadmin start-domain myFirstDomain

F:\>asadmin stop-domain myFirstDomain

如果只有一个domain,则可以省去domain name。

F:\>asadmin delete-domain myFirstDomain

F:\>asadmin list-domains

 

5.3 domain的配置文件

 

%glassfish_home%\domains\%domain_name%\config\domain.xml

对于其中大部分的配置GlassFish支持热部署,无需重启domain。这些配置包括:

- 部署应用和取消部署

- 添加,移除JDBC, JMS, Connector resources and pools

- 改变日志级别

- 修改监控级别

。。。

 

6。与IDE的集成

 

GlassFish与netbean, eclipse都可以方便的集成。比较起来netbean更简单些,毕竟是自家的产品嘛。eclipse还需要先下载一个server adapter。

 

7。部署应用

 

在GlassFish中部署应用有三种方法。下面以一个sample.war为例说明这三种方法。部署EJB module或者enterprise application的步骤大致相同。

 

7.1 自动部署

 

在%glassfish_home%\domains\%domain_name%下有一个autodeploy目录。把我的sample.war直接copy到这个目录下,大概两秒钟后出现一个叫sample.war_deployed的文件。这说明部署成功了。在admin console的Applications -> Web Applications下可以看到这个应用。如果要取消部署,把sample.war从autodeploy中删除即可。

 

这种部署方式最简单直接。但缺点是只支持本地部署,只能进行文件部署(jar, war, ear...),不能进行文件夹部署(解压sample.war后把整个文件夹copy到autodeploy下部署无效)。而且部署的文件只能位于autodeploy下面。

 

7.2 使用admin console部署

 

在admin console的Applications -> Web Applications中点Deploy按钮可以进入部署页面。

 

这里提供了两种选项。一种是Packaged file to be uploaded to the server,就是上传打包文件部署。使用这个选项可以把本机的应用部署到远程服务器上。另外一种是Local packaged file or directory that is accessible from the Application Server。就是说使用本地打包文件或者文件夹进行部署。文件夹部署方式非常方便本机开发调试。


比如说我在tomcat的webapps下有一个sample文件夹,我可以直接把这个文件夹部署到GlassFish中而无需进行打包。部署后改动sample中的jsp文件,刷新浏览器即可看到改变,不用重新部署。

 

7.3 使用asadmin命令部署

 

部署:

asadmin deploy --port 4849 --user admin F:\apache-tomcat-5.5.27\webapps\sample.war

取消部署:

asadmin undeploy --port 4849 --user admin sample

更详细的命令可以通过asadmin deploy --help获得。

 

好了,入门篇就写到这里。等有机会深入研究研究,再写进阶篇,高级篇,哈哈。

  • 大小: 43.1 KB
分享到:
评论

相关推荐

    EJB Dev 1: EJB入门例子

    **EJB Dev 1: EJB入门...通过学习这个EJB入门例子,你可以了解EJB的基本工作原理,为进一步深入研究Java EE和分布式系统打下坚实的基础。同时,实践操作和分析源码将加深对EJB的理解,并提升你的企业级应用开发能力。

    EJB3 学习笔记

    学习EJB3过程中自己总结的一些关于学习EJB3的技术点,以及可能遇到的问题

    EJB入门[整理].pdf

    EJB入门详解 EJB(Enterprise JavaBeans)是 Java 程序设计中比较高级的内容,也是 Java 程序员由入门级向高手级前进的门槛。下面是 EJB 的详细知识点: 一、EJB 概述 EJB 是 Java EE(Java Enterprise Edition)...

    EJB3的三本好书第2本, EJB3 in Action 2007

    EJB3的三本好书第二本,最好的介绍ejb3的书,看过之后,其他的书都送人了,而且附带的源代码,几乎包括了所有的主流应用服务器的例子,glassfish, jboss, weblogic, oracleAS 3本书分别是: 1. Beginning EJB3 ...

    EJB3入门例子

    在提供的压缩包文件"TestEjb3"中,可能包含了EJB3入门教程的源代码或者示例项目。这些示例通常会展示如何创建和使用EJB3组件,如状态less会话bean、实体bean和消息驱动bean。通过学习和运行这些示例,开发者可以更好...

    ejb2.0与ejb3.0的区别

    例如,可以使用POJO(Plain Old Java Object)风格的EJB,这降低了学习曲线并提高了生产力。 - **EJB 3.0**:增强了消息驱动Bean的功能,使其能够更灵活地处理异步消息传递。 - **EJB 3.0**:引入了新的注解,如`@...

    ejb学习笔记

    在深入探讨《ejb学习笔记》这一主题之前,我们首先需要理解什么是EJB(Enterprise JavaBeans)。EJB是Java平台为企业级应用开发提供的一套组件模型,它属于J2EE(Java 2 Platform, Enterprise Edition)的一部分,...

    ejb 学习笔记6

    ### EJB学习笔记第六部分详解 #### 一、EJB之间的调用 EJB (Enterprise JavaBeans) 是Java EE平台中用于开发分布式企业应用程序的重要组件。在实际开发过程中,经常需要一个EJB调用另一个EJB来实现更复杂的业务...

    Weblogic Ejb 学习笔记

    WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...

    EJB3.0 学习笔记

    **EJB3.0 学习笔记** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可扩展的、安全的、事务处理的分布式应用程序。EJB3.0是EJB的一个重大更新,引入了许多改进,使得开发过程更为简化,降低了...

    EJB3的三本好书第3本 Mastering EJB3 4ed

    EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...

    EJB学习笔记.doc

    【EJB学习笔记】 EJB,全称为Enterprise Java Beans,是Java平台上的一个标准,用于开发和部署服务器端的分布式组件。它基于Java语言,为创建高效能、安全且可扩展的企业级应用提供了框架。EJB规范由Java ...

    EJB概述 学习笔记

    **EJB概述** Enterprise JavaBeans(EJB)是Java平台企业版(Java EE)的核心组成部分,主要用于构建可扩展、安全且事务处理...学习EJB可以帮助理解企业级应用的复杂性,同时也能更好地评估和选择现代化的开发方案。

    glassfish网络开发服务器

    1. **Java EE兼容性**:GlassFish完全符合Java EE规范,能够运行各种Java EE组件,如Web应用程序、EJB 3.x模块、JavaServer Faces (JSF)应用、JAX-RS RESTful服务等。 2. **管理工具**:它提供了一个基于Web的管理...

    Weblogic EJB 学习笔记

    Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...

Global site tag (gtag.js) - Google Analytics