近期由于公司有意向在未来将目前的一个大型产品从weblogic移植到glassfish,因此提前学习glassfish以做好准备。
首先从下载安装开发,学习如何搭建glassfish的开发环境。
一. 下载安装运行
1) 下载
从官网https://glassfish.dev.java.net/public/downloadsindex.html下载,目前最新的release版本是GlassFish Server v2 Update Release 2 (UR2)。v3只有
Prelude版本,正式的v3估计要到09年一季度。我下载的是glassfish-installer-v2ur2-b04-windows.jar的版本,54M而已,比weblogic小太多了。
2) 安装
安装方式遵循官方建议(https://glassfish.dev.java.net/downloads/v2ur2-b04.html中的"Instructions to unbundle and configure GlassFish")
1. copy 下载的文件到要安装的目录,比如c:\soft
2. 执行java -Xmx256m -jar filename.jar
按照安装程序的提示进行。
3. 运行ant脚本 lib\ant\bin\ant -f setup.xml
4. 完成后,在原目录下会出现一个glassfish目录,所有文件都在里面
在安装前请先确保jdk已经正确安装,JAVA_HOME属性设置正确.
3) 系统配置
1. 将install-dir\bin加入到Path路径
2. 添加新的环境变量 AS_ADMIN_USER,并将其设置为在安装过程中指定的管理员用户名。
这个是sun的快速入门指南中的要求,但是实际操作中发现不设置也可以正常启动glassfish。
4) 运行
需要使用到glassfish\bin\目录下的asadmin.bat。
方法1) 直接鼠标双击,弹出窗口中输入start-domain domain1,如果成功会看到启动信息。
方法2) 运行 -> cmd 进入命令行,进入glassfish\bin目录,执行asadmin start-domain domain1
5) 检验
打开浏览器访问http://localhost:8080/,或者访问glassfish的console http://localhost:4848/.
6) 以下信息是glassfish安装后的默认配置
domain.name=domain1
instance.name=server
admin.user=admin
admin.password=adminadmin
admin.port=4848
instance.port=8080
orb.port=3700
imq.port=8686
https.port=8181
二. eclipse的glassfish插件
eclipse的glassfish插件的下载安装可以参考官方文档,基本照着做就可以了。
https://glassfishplugins.dev.java.net/eclipse34/index.html
三.搭建自己的开发环境
1. 新建admin用户
使用默认的用户名密码admin/adminadmin登录console,在Configuration -> Security -> Realms -> admin-realm 下点"manager users",添加自己需要的新admin用户。
示例如下:
User ID = sigadmin
Group List = asadmin
password = sigadmin
2. 新建开发需要使用的domain
默认安装时会建立domain1,为了方便我们需要自行建立属于自己的domain,尤其对于公司团队开发,往往一台开发机器上安装一个glassfish,不同开发人员每人都有属于自己的domain来开发测试。
2.1) create domain
执行以下命令:
asadmin create-domain --user sigadmin -e --passwordfile=password.properties --portbase 34000 --profile developer domain_340
其中--passwordfile=password.properties指明密码文件,否则asadmin命令会以交互方式要求输入相应密码。password.properties文件内容如下:
AS_ADMIN_PASSWORD=sigadmin
AS_ADMIN_ADMINPASSWORD=sigadmin
AS_ADMIN_USERPASSWORD=sigadmin
AS_ADMIN_MASTERPASSWORD=sigadmin
--portbase 34000指定当前新建的domian的portbase,--portbase 34000的意思就是该domain的各个端口以34000为基数增加,从日志中可以看到:
Using port 34048 for Admin.
Using port 34080 for HTTP Instance.
Using port 34076 for JMS.
Using port 34037 for IIOP.
Using port 34081 for HTTP_SSL.
Using port 34038 for IIOP_SSL.
Using port 34039 for IIOP_MUTUALAUTH.
Using port 34086 for JMX_ADMIN.
和前面默认建立的domain1的端口对照,可以看到基本是每个端口都有一个基数,然后加portbase就得到最终使用的端口好。
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--> portbase=34000 default 基数
Admin 34048 4848 48
HTTP Instance 34080 8080 80
JMS 34076
IIOP 34037 3700 37
HTTP_SSL 34081 8181 81
IIOP_SSL 34038
IIOP_MUTUALAUTH 34039
JMX_ADMIN 34086 8686 86
使用--portbase比较方便记忆,推荐这样使用,避免逐个指定不同端口。为了方便记忆,domain的名字取名为domain_340以对应。
2.2)start domain
执行命令:
asadmin start-domain -e --passwordfile=password.properties domain_340
2.3) stop domian
执行命令:
asadmin stop-domain -e domain_340
2.4) delete domain
执行命令:
asadmin delete-domain -e domain_340
注意必须在domain处于stop的情况下才能delete。
为了方便,提供一个简单的ant脚本处理以上命令,直接通过exec来调用asadmin.bat:
ant.build
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->
<?
xml version="1.0" encoding="UTF-8"
?>
<
project
name
="GfAsadminDemo"
default
="listDomains"
>
<
description
>
demo of how to use adadmin command
</
description
>
<
property
file
="build.properties"
/>
<
target
name
="listDomains"
>
<
exec
executable
="asadmin.bat"
>
<
arg
line
="list-domains -e"
/>
</
exec
>
</
target
>
<
target
name
="createDomain"
>
<
echo
>
begin to create domain ${domain.name}
</
echo
>
<
exec
executable
="asadmin.bat"
dir
="."
failifexecutionfails
="true"
>
<
arg
line
="create-domain --user ${AS_ADMIN_USER} -e --passwordfile=password.properties --portbase ${domain.baseport} --profile developer ${domain.name}"
/>
</
exec
>
<
echo
>
finish to create domain ${domain.name}
</
echo
>
</
target
>
<
target
name
="startDomain"
>
<
echo
>
begin to start domain ${domain.name}
</
echo
>
<
exec
executable
="asadmin.bat"
dir
="."
failifexecutionfails
="true"
>
<
arg
line
="start-domain -e --passwordfile=password.properties ${domain.name}"
/>
</
exec
>
<
echo
>
finish to start domain ${domain.name}
</
echo
>
</
target
>
<
target
name
="stopDomain"
>
<
echo
>
begin to stop domain ${domain.name}
</
echo
>
<
exec
executable
="asadmin.bat"
dir
="."
failifexecutionfails
="true"
>
<
arg
line
="stop-domain -e ${domain.name}"
/>
</
exec
>
<
echo
>
finish to stop domain ${domain.name}
</
echo
>
</
target
>
<
target
name
="deleteDomain"
>
<
echo
>
begin to delete domain ${domain.name}
</
echo
>
<
exec
executable
="asadmin.bat"
dir
="."
>
<
arg
line
="delete-domain -e ${domain.name}"
/>
</
exec
>
<
echo
>
finish to delete domain ${domain.name}
</
echo
>
</
target
>
</
project
>
build.properties
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->domain.name=domain_340
domain.baseport=34000
AS_ADMIN_USER=sigadmin
(更适当的方法是通过asant来直接操作,不过上面的ant脚本只是为了演示asadmin的使用。)
ps,解释一下为什么考虑从weblogic迁移道glassfish:
1. 经济原因
毕竟glassfish不要钱,而weblogic价格不菲。我们做的产品是面对国际市场的各国电信运行商,总不可能让他们从盗版吧。因此weblogic会带来成本问题。
2. 客户需求
这个其实也和经济原因有关,因为成本问题,因此有客户希望我们能将产品迁移到glassfish。而且最近有一个大客户明确要求使用glassfish,为了在未来有机会拿到他们的单,glassfish的使用就变得很现实了。
3. 技术原因
weblogic目前对新技术的支持可以说是很不积极的,呵呵,可能weblogic有它的考虑,我们不深入讨论。开源的免费的技术新潮的glassfish,尤其是即将发布的v3版本,很有吸引力。
glassfish对于开发人员也更加友好,没有weblogic的臃肿与庞大,尤其启动速度太有优势了
4) 个人喜好
这个就纯属个人喜欢,坦白说我对weblogic的上述表现非常厌恶,我个人就比较讨厌大而满的东西,weblogic和我的美学完全不相合,我学它用它只是为了工作。当然这个是很小的原因,不过似乎公司和我抱有类似想法的开发人员不少,因此还是可以形成一个不算太小的声音。
当然,最终公司是否会下定决心将我们那个巨无霸级别的产品迁移道glassfish上,还有很多很多的东西需要考虑和权衡,技术的,非技术的都有,目前只是处于可行性分析阶段。
分享到:
相关推荐
总之,《glassfish-ose-4.0 白皮书》是了解和掌握GlassFish 4.0的宝贵资料,无论是初学者还是有经验的开发者,都能从中受益匪浅,提升自己在Java EE领域的专业技能。通过深入阅读和实践,可以更好地利用GlassFish...
本文将详细讲解如何安装和配置Glassfish,以帮助初学者快速入门。 首先,理解Glassfish的角色至关重要。它是Java Enterprise Edition(Java EE)的参考实现,提供了对各种Java EE规范的支持,包括Servlet、JSP、EJB...
作为NetBeans IDE的一部分,GlassFish为开发者提供了集成的开发环境,便于构建、测试和部署企业级应用。 GlassFish服务器的核心功能包括: 1. **Java EE兼容性**:GlassFish完全符合Java EE规范,能够运行各种Java...
2. 文档内容涵盖了Windows和Linux环境下GlassFish3.1的安装步骤,以及Web项目的部署方法。 3. 该文档由广州企源电脑科技平台项目组编写,适用于初学者和有经验的开发者参考。 **二、安装** **1. Windows系统下的...
《Glassfish教程指南》是为初学者准备的一份详尽的教育资源,旨在帮助读者深入了解和掌握Glassfish服务器的使用和管理。Glassfish是一款开源的应用服务器,由Oracle公司维护,广泛应用于Java EE应用的部署和运行。本...
【NetBeans IDE与GlassFish开发演示】 在现代的软件开发领域,Java EE(企业版)应用程序的构建常常依赖于强大的集成开发环境(IDE)和应用服务器。本教程将重点介绍如何利用NetBeans IDE和GlassFish服务器进行Web...
在开发环境中,GlassFish Server提供了集成开发环境(IDE)的插件,如Eclipse和NetBeans,使得开发者能够无缝地在IDE中进行开发、测试和部署。此外,GlassFish Server还支持多种数据库连接,包括Oracle、MySQL、...
在安装配置方面,文中提到了如何下载和配置Java,NetBeans集成开发环境,GlassFish应用服务器,以及PostgreSQL数据库。 GlassFish是一个开源的应用服务器,广泛应用于JavaEE的开发中。NetBeans则是一个全功能的集成...
嵌入式版本的Glassfish可以在本地开发环境中直接运行,无需单独安装服务器,简化了开发和测试流程。 3. **项目结构**:典型的Java Web项目包含`WEB-INF`目录,其中包含`web.xml`部署描述符文件,用于配置应用程序的...
- **监控工具**:利用NetBeans等集成开发环境提供的监控功能,实时查看服务器运行状态。 #### 五、社区支持与资源 - **官方论坛**:用户可以在官方网站上找到专门的交流区域,与其他开发者分享经验心得。 - **第三...
1. **下载并安装 Sun GlassFish V3**: - 访问官方网站获取最新版本的 GlassFish V3。 - 安装过程中按照提示完成配置。 2. **安装 jMaki**: - 下载 jMaki 的最新版本。 - 根据官方文档将 jMaki 集成到 ...
Eclipse 是一个著名的开源集成开发环境(IDE),广泛用于Java应用程序的开发,同时也支持其他编程语言。"eclipse-jee-mars-1-win32-x86_64"是针对Windows操作系统64位版本的一个Eclipse版本,专门针对Java企业版...
Eclipse-jee-juno-SR1-win32.zip是一款专为Java EE开发者设计的集成开发环境(IDE),它基于Eclipse平台的Juno Service Release 1版本,并针对Windows操作系统进行了优化。该软件包包含了丰富的功能,旨在提升Java ...
Eclipse Kepler SR1是Eclipse IDE(集成开发环境)的一个重要版本,专为Java EE(企业版)开发者设计。这个版本针对Windows 64位系统进行了优化,提供了一个强大而高效的开发平台。在本文中,我们将详细探讨Eclipse ...
《SUN GlassFish拥抱Spring——深入解析企业级Java应用开发》 SUN GlassFish是一款开源的应用服务器,它基于Java EE(Enterprise Edition)平台,为开发者提供了构建、部署和管理企业级应用程序的强大工具。而...
2. **GlassFish服务器安装与配置**:详细步骤指导如何下载、安装和配置GlassFish服务器,包括设置环境变量、配置网络端口、管理用户和角色等。 3. **应用部署**:学习如何打包和部署Java EE应用,如WAR和EAR文件,...