WebLogic域配置策略--手动和模板选项,第一部分
域含有BEA WebLogic Server实例的配置信息。它包含有关服务器、集群和机器的配置信息。域还含有关于资源,例如Java数据库连接(Java DataBase Connectivity,JDBC)、连接池、JDBC数据源、连接工厂和Java消息服务(Java Message Service,JMS)队列等的配置信息。此外,域还包含有关部署在该实例上的应用程序的配置信息。域配置信息保存在config.xml文件中。在本文中,我将评价WebLogic域配置的各种策略。
您可以直接操纵config.xml文件(例如,手动编辑该文件)。但是本文评价的大多数工具将间接操纵config.xml。大多数工具(例如,WebLogic Console)处理Java管理扩展(JMX) Management Bean(MBean)。WebLogic Server实例在config.xml文件中保存Mbean的状态。
域配置和JMX
config.xml文件含有关于WebLogic Server实例的持久性信息。当WebLogic Server 实例启动时,WebLogic Server读取config.xml文件并部署资源和应用程序。资源和应用程序具有相应的MBean。服务器通过这些Mbean接触配置信息。有许多不同类型的Mbean。在本文中,我主要讨论config.xml文件中与条目对应的Mbean。
如果在运行时更改了Mbean的属性值,新的值将被保存在config.xml文件中,使它成为持久的值。例如,如果在WebLogic Server Console中修改Mbean的属性值,该属性值也将保存在config.xml文件中。因而,在服务器重启期间,可以利用配置属性值,因为配置属性值持久地保存在config.xml文件中。
下节描述了域创建和配置的的各种方法,并将不同的可用选项分类。
众多的选项
幸运的是,可以使用很多不同的方法来创建和配置域。最常用的创建域的方法是使用Domain Configuration Wizard(域配置向导),而最常用的配置域的方法是使用WebLogic Console。还有许多其他可用的方法,包括:
· 使用域配置向导
· 使用域配置模板
· 使用无声脚本
· 使用WLShell脚本
· 使用WLST脚本
· 直接使用Java编码和JMX应用程序编程接口(API)
· 使用记号替代法(例如,Bedrock)
· 使用weblogic管理员命令
· 使用wlconfig和wldeploy Ant任务
· 手动编辑config.xml文件
下面是根据配置域所采用的技术将上述选项分类的一种方法:
· 手动:WebLogic Console、Complete Domain Configuration Wizard
· 模板:自定义符号替代脚本(例如,使用Ant)、Bedrock、完全模板、扩展模板
· 脚本:无声、WLShell、WLST、Ant
· 使用Java编程
将上述选项分类的另一种方法是根据它们是否随WebLogic平台一起发布:
· 包括的(和支持的): WebLogic Console、完全Domain Configuration Wizard、完全模板、 扩展模板、无声脚本、Ant
· 其他的:WL Shell、WLST、自定义符号替代脚本、Bedrock
还有一种将上述选项分类的方法是:根据服务器在线或者离线时,是否需要修改选项。当服务器的实例正在运行时,进行在线修改。由服务器在线修改JMX Mbean,并保存在config.xml文件中。当服务器正在运行时,建议不要直接修改config.xml文件。
· 在线:WebLogic Console、ANT、WLST
· 离线:完全Domain Configuration Wizard、完全模板、扩展模板、无声脚本、WLShell、自定义符号替代脚本、Bedrock
为了举例说明域配置的各种策略,您将创建一个域,并修改它。
高级目标
使用不同的域创建和配置策略,您将实现下面的目标:请不要立即按照这些步骤做。稍后,我将要求您每次使用不同的策略创建和配置域:
1. 创建 WebLogic Workshop 域
2. 将服务器的调试级别变为信息级
3. 改变服务器,使能够对标准输出(stdout)调试
4. 配置一个名为semJDBCConnectionPool的JDBC连接池
5. 配置一个名为jdbc/semJDBCDataSource的JDBC数据源,其JNDI名称为jdbc/semJDBCDataSource
6. 配置一个名为semJMSConnectionFactory的JMS连接工厂
7. 配置一个名为semJMSJDBCStore的JMSJDBCStore
8. 配置一个名为semJMSServer的JMSServer
9. 配置一个名为semJMSJDBCStore的semJMSServe仓库
10. 配置一个名为PersonQueue的JMS队列,其JNDI名称为jms/PersonQueue
11. 部署示例应用程序:SEMApp Enterprise ARchive(EAR)
12. 测试应用程序,验