上一篇 | 下一篇

静寂模式下创建 WebLogic 域--脚本化域配置的优点

发布: 2008-7-01 21:14 | 作者: admin | 来源: | 查看: 16次

部署在WebLogic平台上的企业开发项目在项目开发、测试和部署阶段需要维护几种不同的域配置方式。对于不同的环境而言,版本控制和连续推出不断变化的域配置是一项富有挑战性的任务。Domain Configuration Wizard有助于降低任务的挑战性,因为该向导比人眼所及可提供更多的功能。

  WebLogic 5.1版还没有正式提出WebLogic域这一概念,但现在已成为运行在最新版本的WebLogic Platform上的所有企业应用程序的基础。域定义应用程序运行时环境的至关重要的部分,例如决定应用程序是否将在集群中运行,以及通过连接池定义使用哪个物理数据库。

  域概念首次出现在WebLogic Server 6.0中。开始创建新的域对平台本身而言并没有太大的帮助。建议创建新域的方法是复制安装时默认的域,在复制的域中启动服务器,并使用Administration Console对其修改。第1版Domain Configuration Wizard是在WebLogic Server 7.0中引入的。这一版本的向导不支持WebLogic Integration或者 WebLogic Portal域。在最新版的WebLogic 中,利用WebLogic安装中的各种工具,有许多创建域的方法:您可以使用Domain Configuration Wizard、WebLogic.Server命令,或者有wlserver 和wlconfig Ant任务的Ant脚本。这表明BEA认真地听取了开发者的建议:帮助我们更容易地创建WebLogic域。本文将详细介绍Domain Configuration Wizard,集中讨论如何利用它的3种运行模式中文档最少的一种(直到现在)――静寂模式(Silent Mode)(此外,正如您可能知道的一样,它还可以运行在GUI模式和Console模式中)。

  Domain Configuration Wizard已经成熟,现在默认包括域的全部内容。GUI模式相对容易使用,即使您必须为很多配置屏幕做好准备,比如用几个连接池和一些JMS目的地配置集群门户域时。我们以为在企业项目中,这种方法主要面临的挑战是要为几种类似的环境(如开发、测试和生产)维护几种不断变化的域配置。除此之外,开发者通常拥有他们自己的带有本地数据库设置的本地服务器和本地JMS目的地。对于所有的项目,但特别小的项目除外,我们不能通过Domain Configuration Wizard手工创建这些域配置。对不同的部署目标,我们需要能够采用一致的方法从头开始重复创建域。我们也希望能够将我们的各种域配置置入源控制之下。Domain Configuration Wizard的静寂模式为我们提供了通过域配置脚本实现这种功能机会。

   Domain Configuration Wizard位于WL_HOME/common/bin子目录下,其中WL_HOME是BEA_HOME/weblogic81。运行config.cmd可以启动它。为了在静寂模式中运行它,您要将模式参数设置为静寂,然后告诉它查找静寂配置脚本的地方。

在 Windows中:

   config.cmd ?mode=silent ?silent_script=

在Unix/Linux中:

   ./config.sh ?mode=silent ?silent_script=

   所有这一切发生在silient脚本文件中。该脚本文件含有完整的域配置。即使此文件中使用的语言是专有的,但它相当容易理解。 在BEA的电子文档中有完整说明。

   默认安装带有一个示例静寂脚本文件,该文件位于:WL_HOME/common/templates/domains/silent_scripts,我们将逐步讲解该示例文件。

   WebLogic域可以是5种不同类型的域之一,通过域模板可以访问。要做的第一件事是通过选择希望使用的域模板文件来确定域的类型。域模板文件位于WL_HOME/common/templates/domains/目录中。不同的域模板是:

   Workshop域(wlw.jar)

   Integration域(wli.jar)

   Portal域(wlp.jar)

   Server域(wls.jar)

   WebLogic Platform域(platform.jar)

   域模板文件包含在BEA WebLogic Platform 8.1的安装中。对于本示例,我们选择WebLogic Server域,因而wls.jar是模板文件。现在,我们读入默认的服务器域中所包含的所有数据:

//Read in a domain template.

read template from "WL_HOME/weblogic81/common/templates/domains/wls.jar";

   默认服务器域已经配置了一台称为“myserver”的管理服务器。现在,我们设置地址、端口和SSL:

//Find and configure the Admin Server.

   find Server "myserver" as s1;

   set s1.ListenAddress "localhost";

   set s1.ListenPort "7001";

   set s1.SSL.Enabled "true";

   set s1.SSL.ListenPort "7002";

   我们希望在该域中创建一个JMSQueue。首先,我们创建一个JMSServer,然后创建JMSQueue,并设置该队列的属性。最后,我们将“wls.jar”模板文件中默认的服务器“myserver”做为JMSServer的目标。

//Create a JMSQueue.

//A JMSServer has to be created first.

   create JMSServer "myJMSServer" as jmsserver;

   create JMSQueue "myJMSQueue" as myq;

//required attribute

   set myq.JNDIName "jms/myjmsqueue";

//required attribute

   set myq.JMSServer "myJMSServer";

//optional attribute

//set myq.StoreEnabled "false";

//target "myJMSServer" to server "myserver"

   assign JMSServer "myJMSServer" to target "myserver";

   我们希望在该WebLogic Server域中创建创建一个连接池。在此示例中,我们使用BEA Weblogic Platform 8.1安装中的PointBase数据库。创建连接池并设定目标为“myserver”。

  

//Create a JDBCConnectionPool.

   create JDBCConnectionPool "demoPool" as mypool;

//required attribute

   set mypool.DriverName "com.pointbase.jdbc.jdbcUniversalDriver";

//required attribute

   set mypool.URL "jdbc:pointbase:server://localhost:9092/demo";

//required attribute

   set mypool.Password "PBPUBLIC";

//optional attribute (but it's recommended you set the db user...)

   set mypool.Properties "user=PBPUBLIC";

//target all JDBC connection pools to server "myserver"

   assign JDBCConnectionPool "*" to target "myserver";

   在配置域的过程中,将应用程序的目标设定为服务器是可能的。“wls.jar”模板没有包含任何应用程序,因而该代码被注释掉了。

  

//target existing applications.

//target applications only when they exist in current domain template

//assign application "*" to target "myserver";

字号: | 推荐给好友

61/6123456>

评分:0

我来说两句