`
top00zw
  • 浏览: 15645 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

结合公司工程,总结glassfish学习的结果

阅读更多
本周,我通过网上查找资料,对glassfish_v2(后面简称glassfish)进行了一些研究,同时结合公司的ucall进行部署,现对研究的结果进行总结。
一 对glasssfish的理解
glassfish 是 sun 公司推出的一个符合java ee 5规范的免费、开源web应用服务器。它和Tomcat一样是优秀的Servlet容器,但是它具备延迟加载的功能,也就是说,GlassFish在启动时只会启动一些必需的核心服务项,因此在加载大型应用程序时,它的启动时间是比较少的,同时,它支持类的动态加载,因此它为程序在开发调试程序的时候提供了方便,不用为频繁重新启动服务器而烦恼。
二 Glassfish的简单操作
glassfish的操作主要分两种,一是控制台,另外的就是命令行终端。控制台控制,直接打开浏览器输入地址:http://localhost:4848/ 默认用户名:admin 密码:adminadmin ,登录之后在左边栏可以看到树形结构的各种操作。命令行的方式,首先要在%GLASSFISH_HOME%\bin 目录下,键入asadmin + 对应的各种操作。 
Glassfish的安装和配置,见最后“Glassfish 简单操作”。
三 Myeclipse与glassfish的集成
在myeclipse5.5及以上版本,glassfish_v2已经被集成,但是glassfish_v3没有被集成,这也是我用v2的原因。Myeclipse配置glassfish的步骤是:window-->Preferences-->MyEclipse-->Servers-->GlassFish2.x(注意,要Enable),主要填写的是Home Directory,比如我的就选择D:\glassfish之后就可以在MyEclipse里启动和关闭域了。
在myeclipse 中,插件只能简单的配合ide工作,因此,在myeclipse中只能进行服务的启动和停止,而且发布的工程也只是部署在独立的虚拟服务中,不能发布到集群中。另外,eclipse的运行环境的路径可能与命令行终端中不同,这就有可能会出现修改了glassfish的配置路径后,但是在myeclipse中不起作用的情形。
四 集群与负载均衡
集群分为水平集群和垂直集群两种,前者是在一台机器上配置多个实例,以一个代理为主,运行一个服务,后者是在多个机器上配置多个实例,一台机器作为代理,来运行一个服务。不管是哪中做法,首先需要配置一个代理节点nodeagent,指定host,然后在代理节点下创建实例。由于我只有一台机器,因此只实验了水平集群,在部署过程中,发现简单的测试程序能够成功部署,但是ucall的工程却怎么都部署不上去,且无任何错误提示,经过反复琢磨,发现是glassfish默认对上传的部署文件作了限制,发现问题后,经过网上查找资料,最后终于将ucall的工程成功发布集群。简单的操作见“Glassfish 简单操作”。
负载均衡,需要下载一个插件,然后配置到sun java system web server,也是经过很长时间的研究,却不能成功,后来再仔细研究sun公司发布的文档,发现我们用的glassfish是sun java system application server,但是负载均衡还要用到sun java system web server ,一个单词的区别,我把他当成了一个东西,结果按照文档操作,发现很多文件找不到。由于网络不太好,不能下载软件,负载均衡我没有实验,但是基本过程清楚。
五 需注意的事项
1. 路径问题,glassfish中程序读到的路径可能与tomcat,jetty中读到的路径不同,因此,很多在tomcat中能运行的程序,在glassfish中文件路径找不到。例如,Djava.library.path 在tomcat启动时,会将系统的path读入,但是glassfish不会,这样会造成动态的链接库文件只能放在glassfish找得到的地方,如%GLASSFISH_HOME%\lib。
2. 部署工程的问题,以文件夹方式部署web application 只能部署单独实例的虚拟机工程。部署集群的时候需要war包上传,但是上传war文件,要注意文件的大小,默认的为100m,如果超过此大小部署会不成功,且无任何提示。 更改上传文件限制配置的方式是:
%GLASSFISH_HOME%\lib\install\applications\admingui\adminGUI_war\WEB-INF\web.xml

<filter-name>UploadFilter</filter-name>
<filter-class>com.sun.webui.jsf.util.UploadFilter</filter-class>
<init-param>
<param-name>maxSize</param-name>
<param-value>[limit_upload_size]</param-value>
</init-param>

3. 启动实例的前提是要nodeagent是运行的,且只能在命令行启动
启动命令是,adadmin nodeagent-start nodeagentname
4. ucall两处源代码需要做修改。一是,base.flag.web800.util.PathManager 中的getPath()方法,在glassfish中读web800log4j.property文件总是读成%GLASSFISH_HOME%的主目录,结果总是找不到文件,其次是qflag_billing.jar中 的qflag.jdbc.DBProperty,同样的在读取取db.propery文件时候找不到路径。
六 遗留问题
1. 负载均衡,由于没有多台机器和软件,无法实验
2. 高可用性,前置条件是负载均衡的成功运行,目前不能实验
分享到:
评论
2 楼 caspers 2009-03-31  
你好 我今天刚接触到glassfish,挺兴奋的,但是同时也有一个怎样都解决不了的问题,使用myeclipse7.0 milestone 启动GF, 发现console里面输出异常,
recursive call into SystemOutandErrhandler
java.lang.RuntimeException: recursivecall
然后就什么都没有了,服务器的确是启动了,访问我的应用都正常而且速度很快,但是控制台什么都不输出,程序里面的System.out.print...也都不输出,最后发现所有内容都输出到log文件中去了,诚心请教应该怎样让他输出到控制台呢?否则开发起来很不方便喔

非常感谢!

kevinseashine@gmail.com
1 楼 judytang 2008-12-23  

你好 !  认真读了,写的非常好,希望能跟GlassFish团队多交流,这是联系的方法,谢谢 !

Judy


http://blogs.sun.com/theaquarium_zh/entry/%E5%A6%82%E4%BD%95%E8%B7%9Fglassfish_%E7%A4%BE%E5%8C%BA%E8%81%94%E7%B3%BB%E6%9D%A5%E6%8F%90%E9%97%AE%E4%BD%A0%E7%9A%84%E9%97%AE%E9%A2%98

相关推荐

    glassfish_demo

    Glassfish是一款开源的应用服务器,由Oracle公司维护,它支持Java EE(Enterprise Edition)应用程序的运行。本教程将详细解释如何在Glassfish服务器上部署WAR(Web Application Archive)文件,以实现一个名为...

    glassfish集群搭建手册

    标题《Glassfish集群搭建手册》指的是利用Oracle提供的Glassfish应用服务器软件进行集群配置的详细指南。此手册涵盖了在不同场景下通过图形化界面和命令行方式搭建集群的整个过程,并且描述了如何配置集群环境以支持...

    Glassfish部署web项目

    **Glassfish** 是一款开源的Java EE应用服务器,由Oracle公司维护。它基于Java EE标准,支持多种Java EE技术,如EJB、JPA、JSF等。由于其强大的功能和良好的社区支持,Glassfish被广泛用于开发和部署企业级应用。 #...

    glassfish-v2 source code

    总结,Glassfish-v2源码是Java EE开发者宝贵的参考资料,通过深入学习,可以深化对Java企业级开发的理解,提升技术水平,对于那些想要深入到应用服务器底层原理的开发者来说,无疑是一份珍贵的学习材料。

    linux下实现glassfish自动启动

    Glassfish是Oracle公司提供的一个开源Java EE应用服务器,它支持各种Web应用和企业级服务的部署。下面将详细介绍如何在Linux下实现Glassfish的自动启动。 首先,我们需要确保已经正确安装了Glassfish。在这个例子中...

    GlassFish4(GlassFish3)安装

    GlassFish4的下载和安装的详细步骤,下载地址,配置等。附带有GlassFish3的安装简述

    glassfish安装配置文档

    GlassFish 安装配置文档 GlassFish 是一个基于 Java 的开源应用服务器,提供了一个强大且灵活的平台来部署和管理基于 Java 的应用程序。本文档将指导 readers 通过安装和配置 GlassFish 服务器,并将其与 Eclipse ...

    Glassfish安装和启动

    ### Glassfish安装与启动详解 #### 一、简介 GlassFish 是一款开源的应用服务器,它遵循Java EE标准,被广泛应用于开发、测试和生产环境中。本文档将详细介绍如何安装和启动GlassFish应用服务器。 #### 二、安装前...

    glassfish-ose-4.0 白皮书

    GlassFish是Oracle公司开发的一款开源的应用服务器,基于Java EE(Java Platform, Enterprise Edition)标准,为企业级应用提供了强大的部署和支持平台。以下是对白皮书中部分内容的详细解析: 1. **Java EE 7支持*...

    GlassFish Eclipse Plugin

    GlassFish,作为Oracle公司提供的开源Java EE应用服务器,广泛应用于企业级Web应用程序的部署和运行。而Eclipse,作为一款强大的开源集成开发环境,为Java开发者提供了丰富的工具集。将这两者结合的插件,使得开发者...

    glassfish-5.0.1.zip

    GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。 GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称...

    GlassFish5.0安装包

    GlassFish,由Oracle公司主导的开源项目,是一款功能强大的Web服务器和应用服务器,以其卓越的性能和丰富的特性在开发者社区中备受推崇。相比于Tomcat,GlassFish提供了更全面的Java EE(现称为Jakarta EE)支持,...

    glassfish安装

    Glassfish,作为Oracle公司开源的一款Java EE应用服务器,是开发者进行企业级Java应用程序部署的重要平台。本文将详细讲解如何安装和配置Glassfish,以帮助初学者快速入门。 首先,理解Glassfish的角色至关重要。它...

    glassfish网络开发服务器

    由Oracle公司维护,它支持各种企业级服务,包括Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JPA(Java Persistence API)以及Servlet和JSP等。作为NetBeans IDE的一部分,GlassFish为...

    glassfish安装手册及源文件

    总结起来,安装Glassfish需要下载适合你操作系统的jar包,安装Ant,然后使用Ant工具进行配置。在安装过程中,要留意默认端口的设置,以便避免与其他服务冲突。最后,理解如何启动和关闭服务器,以及如何访问管理界面...

    glassfish单机集群jk_little

    在IT行业中,Glassfish是一款开源的应用服务器,由Sun Microsystems开发并维护,后来成为Oracle Corporation的一部分。Glassfish支持Java EE(现在称为Jakarta EE)规范,为开发者提供了构建企业级Web应用的平台。当...

    glassfish-3.1.2.2.zip

    Glassfish 3.1.2.2是一款由Oracle公司开发的开源应用服务器,它是Java EE 6规范的重要实现者,提供了全面的支持和丰富的功能,为开发者提供了构建企业级Web应用程序的坚实平台。在本文中,我们将深入探讨Glassfish ...

    Glassfish关于tomcat的文档

    对于Web 2.0初创公司、应用服务提供商以及提供动态Web应用的独立软件供应商(ISVs)而言,应用即业务,而应用服务器中的Web容器技术能够直接影响业务成果。Web容器是应用程序服务器的一部分,用于管理Servlets、Java...

    GlassFish2.0的安装

    【GlassFish 2.0 安装详解】 GlassFish 2.0 是 Sun Microsystems 推出的一款免费且开源的 Java EE 服务器,它基于 Java Platform, Enterprise Edition (Java EE) 5规范,提供了包括EJB 3.0、JSF 1.2、Servlet 2.5、...

    glassfish官方文档

    GlassFish是Oracle公司开源的一款基于Java EE(Enterprise Edition)的应用服务器,它提供了全面的平台来开发、部署和管理企业级应用程序。这份“glassfish官方文档”包含了关于GlassFish服务器的管理和开发两个主要...

Global site tag (gtag.js) - Google Analytics