GlassFish
目录
GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称。它基于 Sun Microsystems 提供的 Sun Java System Application Server PE 9 的源代码以及 Oracle 贡献的 TopLink 持久性代码。该项目提供了开发高质量应用服务器的结构化过程,以前所未有的速度提供新的功能。这是对希望能够获得源代码并为开发 Sun 的下一代应用服务器(基于 GlassFish)作出贡献的 Java 开发者作出的回应。该项目旨在促进 Sun 和 Oracle 工程师与社区之间的交流,它将使得所有开发者都能够参与到应用服务器的开发过程中来。
GlassFish 开发社区正处于起步阶段,虽然规模较小,但正在迅速发展。目前,已有超过 100 名贡献者签约。目前,参与开发该产品的 Sun 和 Oracle 工程师的人数与其他应用服务器开发者社区的工程师人数相当。
前提:需要安装JDK1.5,在此不累述
首先,在https://Glassfish.dev.java.net上下载Glassfish,一般有两个版本,一个是标准版,一个是多语言版,根据你的实际需要,下载相应版本。
其次,将下载下来的jar包放置在一个想要安装的位置,如D盘根目录下,在命令行模式下运行到jar包的所在目录,运行命令:java-Xmx256m-jarfilename.jar(注:filename.jar为Glassfish-**-**-**.jar包),一会儿会弹出一个对话框,这个时候可能要拖动一下上面的说明,表示你已经知道了(也许是过阵子时间),accept按钮允许点击,之后就会开始安装在jar包所在目录下。
再次,安装完之后,还需要在Glassfish中添加domain,就如同websphere要加appserver一样,在Glassfish的根目录下,有一个setup.xml,打开该文件,编辑重要信息:
<propertynamepropertyname="domain.name"value="domain1"/><!--域名称,默认为domain1-->
<propertynamepropertyname="admin.user"value="admin"/><!--控制管理台用户-->
<propertynamepropertyname="admin.password"value="adminadmin"/><!--控制管理台用户密码-->
<propertynamepropertyname="admin.port"value="4848"/><!--控制管理台http端口-->
<propertynamepropertyname="instance.port"value="8080"/><!--web应用http端口-->
<propertynamepropertyname="https.port"value="8181"/><!--web应用https端口-->
根据各自机器的实际情况进行设置,或不做改动,完了,需使用ant来生成domain,如机器上没有安装ant,可使用Glassfish自带的ant来进行安装(%{Glassfish}libant),执行命令:ant-fsetup.xml(如使用Glassfish自带的ant,则libinant-fsetup.xml),仔细查看执行过程是否安装成功,本人在安装时,就因为端口设置冲突而安装失败,但是build的结果为successful,所以得注意安装过程中出现的文字信息,成功后,会在Glassfish的根目录下出现个domains的目录
到此,安装已经完成,要启动domain1,可以如下操作,命令行到Glassfish的bin目录下,执行:asadminstart-domaindomain1(domain1为域名称),停止则为asadminstop-domaindomain1
前提:有一个完整WEB项目的war包,打包方式为jarcvf***.war./
启动Glassfish之后,进入到某个域的后台管理页面,输入用户名和密码,进入主页。
左栏会有一些任务栏,应用程序->web应用程序->部署,选择需要部署的war文件,输入应用程序名称以及上下文根,选择好war包时,会默认将包名设置为这两个输入项,可自行更改,如果需要web项目运行在根目录下,直接在上下文根输入/即可,其他选项默认即可,点击确定,如果失败,则会提示错误保存在日志文件中,这个时候需要到domain的logs中自行查找错误原因。
部署成功后,即可访问该web应用程序了,可点击web应用程序的取消部署删除该web应用,也可以停止该web应用,启用该web应用。
前提:已经安装Oracle(其他应该类似,但是没有用过,不敢保证),并有相应的数据库,用户名和密码等
登录某个域的后台管理页面
左栏,资源->JDBC->连接池->新建,输入连接池名称,选择类型为javax.sql.ConnectionPoolDataSource,数据库供应商选择Oracle,下一步,上面的输入都可以使用默认设置,在其他属性中,输入以下各个属性的对应值:
DatabaseName(数据库名)
User(数据库用户名)
Password(数据库用户密码)
PortNumber(数据库端口,Oracle的端口默认为1521)
URL(数据库访问的地址,如jdbc:Oracle:thin:@localhost:1521:db)
其他可以不用设置,完成,即生产一个连接池
然后,将Oracle的数据库访问jar包复制到domainlibext下来到新创建的连接池的内容显示页,点击ping,如果ping成功,则连接池已经设置成功,否则依次排查故障,接下来就要设置数据源。
资源->JDBC->JDBC资源,输入JNDI名称,一般为jdbc/****(*为具体名称),选择池名称为刚刚新建的连接池,点击确定,即可创建完之后,需要在web程序中使用,需要在web.xml中加入:
<resource-ref>
<description>OracleConnectionPool</description>
<res-ref-name>jdbc/****</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
然后在java程序中,加入如下代码来使用数据源:
Contextctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookup("jdbc/****");
Connctioncon=ds.getConnection();
接下来就简单,直接用这个con就可以了。
在遵守通用开发和发布许可 (Common Development and Distribution License, CDDL) 版本 1.0 的前提下,开发者可以免费获得源代码,还可以对代码进行更改(只要他们认为合适)。要申请 Java Compatibility,商业分发的开发者需要签署 Java Developer License (JDL),并在重新分发代码前验证代码已通过兼容性测试套件 (compatibility test suite, CTS) 的测试。任何人均可签署分发协议,对代码进行审阅以贡献更改、错误修复和功能。
GlassFish 的更新版本将于每晚发布。发布的代码已经过了非常基本的测试以确保它们能够进行构建并执行,但这些代码并没有象产品发行版那样经过完整测试。
GlassFish 将实现最新版本的 Java EE 平台Java EE 5,这两者将大约同时成为最终版本。同时,Sun 还将基于GlassFish 发行最终的受支持的兼容 Sun Java System Application Server PE 9.0。
在2005 年6 月,Sun 将GlassFish 项目的Web 站点向公众开放,从而发布了GlassFish 项目。开发者可以访问源代码、每晚构建、讨论组和电子邮件列表。这是开发者首次能够了解并参与应用服务器的开发过程。最初,访问仅限于Web 层,随着GlassFish 的开发,访问也将扩大到其他模块。
GlassFish 项目将 Java EE 呈现在更多爱好者面前,这些人最终将成为 Java EE 许可证持有者的客户。GlassFish 不会更改许可证持有者的任何许可证条款。在遵守其许可证条款的前提下,许可证持有者仍可以销售或分发代码,并对已通过 TCK 的产品使用Java Compatibility 品牌。在遵守授予开发者的 CDDL 许可证条款的前提下,他们可以使用、编辑、更改代码,并可以分发代码或将其用于生产。但他们没有得到使用CTS 的许可,也不能使用 Java Compatibility 品牌。
GlassFish虽然是一个标准的JavaEE服务器,但是它同样具有轻便的Web容器的优点,它和Tomcat一样是优秀的Servlet容器,同时,它具备延迟加载的功能,也就是说,GlassFish在启动时只会启动一些必需的核心服务项,如LocalJNDI服务,用于管理的JMX服务等,而对于暂时用不到的服务通通不予加载,直到需要的时候再说,而且这个特性不需要额外的配置。这样GlassFish的启动时间是以前的一半,内存占用也只有以前的一半。 GlassFish的另外一个秘密武器,就是Grizzly,Grizzly是一个基于JavaNIO(NewIO)技术,并完全以Java实现的一个HTTP的Listener,有了Grizzly,GlassFish在静态文件传输方面的性能比Tomcat要强得多,而且可以支持更多的并发访问。我们可以抛弃JBoss+Tomcat和Apache+Tomcat这样的组合了。
GlassFish社区实现了开源JavaEE5应用服务器。GlassFish是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。以下列出了应使用GlassFish的诸多原因。
GlassFish是开源的、基于社区的JavaEE5实现。
与早期的J2EE版本相比,JavaEE5有了巨大的改进(J1主题)。
GlassFish达到产品级质量,具有非常好的性能,并具有可伸缩性。
GlassFish用于SJSAS9.0、JavaEE5SDK和NetBeans5.5及以上版本。
GlassFish已经得到了广泛的采用并受到分析家的关注。
GlassFish已被其他公司使用,如用在TMaxSoft公司的JEUS6Preview中。
GlassFish具备众多附加功能,包括JavaDB、JavaBlueprints和AJAX示例以及样例。
GlassFish致力于开发您最喜欢的框架和应用程序。
GlassFish具有大量的文档。
GlassFish提供迁移工具支持。
GlassFish具有产品级质量管理控制台和安全性支持。
GlassFish在采用JPA方面走在最前面。
GlassFishWeb服务栈十分出色,并在日益加强和完善。
GlassFish的Grizzly实现了出众的Web层性能与灵活性。
GlassFish提供了开发者支持、软件服务、培训、课程、论坛、博客以及其他更多资源。
GlassFish支持AJAX和脚本。
GlassFish提供平台和工具SOA支持,其中包括JBI和BPEL。
GlassFish直接用于JavaEE5的官方参考实现。
GlassFish是SunJavaSystemApplicationServer的代码库。
GlassFish将合并SJSAS8.x中目前可用的企业功能。
Maven系统信息库中包含了大量组件;很快会增加更多的组件。
附件列表
故事内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
