在开发的过程中,我们可能需要将生产环境和调试环境分开来,这样才能保证安全性,但是安装两个glassfish又不太可能,因为它太庞大了。另外做为一个工程发布也不太方便,每次都要将工程名改来改去,并且绑定的EJB在同一个域内里是不能同名的。这样的话,要改变的东西实在是太多了。
我们可有以第三种方法,那就是为glassfish添加另外的domain,一个domain跑我们的真实环境,一个domain跑我们的测试环境,因为是同一个glassfish,所以也不会存在从测试到真实环境的移植问题。以后只要改一个domain就可以了。我们在安装glassfish的时候,它已经默认为我们安装了一个domain,那就是domain1.
我们查看setup.xml里面可以看出,是如何新建domain的,于是我们把我们需要的一些target提取了出来,见如下。下面的配置里面唯一可能需要改变的就是glassfish安装目录这个属性了,其它可以按照我配的来,也可以自己修改。
<?xml version="1.0" encoding="UTF-8"?>
<project name="createDomain" default="create.domain" basedir=".">
<target name="setEnv">
<property name="domain.name" value="domain3"/>
<property name="admin.user" value="admin"/>
<property name="admin.password" value="adminadmin"/>
<property name="admin.port" value="6848"/>
<property name="instance.port" value="10080"/>
<property name="orb.port" value="5700"/>
<property name="imq.port" value="9676"/>
<property name="https.port" value="10181"/>
<property name="iiop.ssl" value="5821"/>
<property name="iiop.mutualauth" value="5921"/>
<property name="jmx.admin" value="10687"/>
<property name="install.home" value="C:/Program Files/glassfish-v2ur2"/>
<property name="adminpassfile" value="${install.home}/passfile"/>
<property name="ASADMIN" value="${install.home}/bin/asadmin.bat"/>
<echo file="${adminpassfile}" append="false">AS_ADMIN_ADMINPASSWORD=${admin.password}</echo>
</target>
<target name="create.domain" depends="setEnv">
<exec executable="${ASADMIN}" failonerror="true">
<arg line="create-domain" />
<arg line="--adminport ${admin.port}" />
<arg line="--instanceport ${instance.port}" />
<arg line="--user ${admin.user}" />
<arg line="--passwordfile "${adminpassfile}"" />
<arg line="--domainproperties orb.listener.port=${orb.port}:jms.port=${imq.port}:http.ssl.port=${https.port}:domain.jmxPort=${jmx.admin}:orb.ssl.port=${iiop.ssl}:orb.mutualauth.port=${iiop.mutualauth}" />
<arg line="--savelogin" />
<arg line="${domain.name}" />
</exec>
<delete file="${adminpassfile}" />
</target>
</project>
然后用ant执行它就可以了,我这里的执行输出如下:
C:\Program Files\glassfish-v2ur2>ant
Buildfile: build.xml
setEnv:
create.domain:
[exec] Using port 6848 for Admin.
[exec] Using port 10080 for HTTP Instance.
[exec] Using port 9676 for JMS.
[exec] Using port 5700 for IIOP.
[exec] Using port 10181 for HTTP_SSL.
[exec] Using port 5821 for IIOP_SSL.
[exec] Using port 5921 for IIOP_MUTUALAUTH.
[exec] Using port 10687 for JMX_ADMIN.
[exec] Domain being created with profile:developer, as specified by variabl
e AS_ADMIN_PROFILE in configuration file.
[exec] The file in given locale [zh_CN] at: [C:\Program Files\glassfish-v2u
r2\lib\install\templates\locales\zh_CN\index.html] could not be found. Using def
ault (en_US) index.html instead.
[exec] Security Store uses: JKS
[exec] Domain domain3 created.
[exec] Login information relevant to admin user name [admin] for this domai
n [domain3] stored at [C:\Documents and Settings\hadeslee\.asadminpass] successf
ully.
[exec] Make sure that this file remains protected. Information stored in th
is file will be used by asadmin commands to manage this domain.
[delete] Deleting: C:\Program Files\glassfish-v2ur2\passfile
BUILD SUCCESSFUL
Total time: 21 seconds
C:\Program Files\glassfish-v2ur2>
这样我们就可以看到glassfish的domains目录下面,多出了一个domain3这个文件夹。然后有关数据库连接池啊什么的,就可以到该目录下面的config/domain.xml去改了,domain.xml里面的属性我们以后有时候再好好研究一下。当然,我们也可以去glassfish的控制台进行可视化修改,glassfish的控制台是所有的应用服务器里面做得最好的一个了。访问的端口就是我们新建domain的时候用到的admin.port的这个属性。
==========================
另一种简便的方法:
直接asadmin create-domain --adminport 8686 domain2
说明:本次安装多个实例的原因:
服务器是32G内存48核CPU安装了一个Glassfish,配置堆内存为4G, 服务器压力过大,垃圾回收时内存溢出(GC Overhead limit exceeded),准备为Glassfish安装多个实例,并用前置入口Nginx配置成负载均衡模式,将请求分发给不同的实例进行处理,前提条件是程序必须是无状态的,即每次请求与前后不相关。
相关推荐
运行包含的jar文件以开始安装过程,该过程将创建一个名为“glassfish”的目录。 2. 安装过程中,可以通过修改`setup.xml`文件来配置服务器参数,如端口设置。例如,你可以更改管理平台、HTTP服务、ORB(对象请求代理...
### GlassFish、Ant与Eclipse配置指南:详细步骤与图解 #### 一、环境准备:设置基础环境变量 ...这一过程虽然涉及到多个软件组件和环境变量的设置,但只要按照指南一步步操作,就能够顺利完成配置。
2. 配置域:在Admin Console中,你可以创建、编辑或删除多个域。每个域代表一个独立的GlassFish实例,可以设置不同的配置参数。默认情况下,安装后会有一个名为`domain1`的域。 3. 部署应用:在Admin Console中,...
WAR文件适用于Web应用程序,而EAR文件则用于包含多个模块的复杂应用程序。 2. **部署应用**:在管理控制台中,导航到“应用程序”部分,点击“部署”按钮,然后选择你的WAR或EAR文件。按照提示完成部署过程。也可以...
- GlassFish 2.0 的配置文件(如`domain.xml`)允许进行详细的服务器配置,包括数据源、安全设置、监听端口等,可以根据项目需求进行定制。 总之,GlassFish 2.0 是一个强大的Java EE应用服务器,适合于企业级开发...
Glassfish集群的搭建是一项技术含量较高的工作,涉及到服务器管理、网络配置、负载均衡等多个方面。通过理解并掌握上述步骤,你将能够成功构建一个高效、可靠的Glassfish集群,实现应用的高可用性和可扩展性。在实际...
在IT行业中,Glassfish是一...这种配置有助于提高应用的可用性和性能,因为请求可以被分发到多个服务器实例,如果某个实例出现故障,其他实例仍能继续服务。同时,负载均衡可以防止单一节点过载,保持系统的稳定运行。
尽管两者在功能上相似度极高,但在性能调优方面,Oracle GlassFish提供了更多设置选项。对于内存资源充足的服务器,GlassFish是理想的选择,而资源有限的环境,如仅需处理JSP、JavaBean和Servlet,Tomcat可能是更...
在Linux环境下安装与配置GlassFish应用服务器是一项技术性工作,涉及多个步骤,本文将详细解析这一过程中的关键知识点,帮助读者全面理解并掌握在Linux下安装GlassFish的完整流程。 ### 1. 安装前的环境准备 #### ...
例如,微软的JDBC驱动有多个版本,每个版本对应不同的SQL Server和Java版本。 6. **源码和工具** 标签中的“源码”可能是指在应用程序代码中使用数据源的示例,例如通过JNDI查找并获取连接。而“工具”可能指的是...
- **EAR 文件部署:** 对于企业级应用,可以将多个组件打包成 EAR 文件进行部署。 **3. 开发工具集成:** - **NetBeans IDE:** 提供了对 GlassFish 的深度集成和支持,包括开发、调试、测试等功能。 - **...
- 例如,将一个名为`Hello.war`的Web应用程序复制到`glassfish/domains/domain1/autodeploy/`目录下,服务器会自动将其部署。 2. **Admin Console部署应用** - 登录Admin Console(通过`http://localhost:4848`...
综上所述,从创建安装目录、复制安装文件、执行安装命令,到通过安装向导完成配置,再到最终的启动和管理,安装GlassFish涉及多个关键步骤。每个步骤都需要用户仔细操作,以确保应用服务器能够正常运行,满足Java...
为了解决这个问题,我们可以利用GlassFish服务器提供的JNDI(Java Naming and Directory Interface)服务,将数据库资源转化为容器管理的资源,使得多个应用可以共享一个数据源,从而优化资源利用。 在GlassFish中...
在`domain.xml`文件中,找到并注释掉其他可能存在的数据源配置,然后添加Dearby数据源的配置。例如,你可以创建一个名为`jdbc/__default`的数据源,指定Dearby的JDBC驱动和连接URL。 2. **启动数据库服务**:配置...
创建一个4GB的swap分区,400MB的boot分区(格式为ext3或ext4),剩余空间分配给root分区,同样为ext3或ext4格式。 2. 服务定制:在安装过程中,手动选择服务,勾选“Java开发”、“MySQL数据库”和“中文”语言支持...
通过以上介绍可以看出,`start-domain` 命令是 GlassFish Server 中一个非常重要的管理命令,它可以用来启动特定的域。通过合理的配置和使用该命令,用户可以有效地管理其部署的应用程序和服务。此外,了解 ...
域是一个包含多个实体(如服务器实例、集群和应用程序)的管理单元,由Domain Administration Server(DAS)控制。DAS可以是一个独立的进程,用于配置和管理整个域。 ### 3. 集群配置与管理 在Glassfish中,可以...