`
C_LIFE
  • 浏览: 37609 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebLogic Server高级管理之五:集群下的Data Source配置

 
阅读更多
声明:该博文转自http://maping930883.blogspot.com,热爱java,热爱生活

运行环境:WebLogic Server 10.3.5 + Oracle Database 10g Express Edition 10.2.0.1。

本实验要求首先完成《配置Data Source (2)》、《集群配置》和《为集群配置Apache代理》。

1. 把testds应用target到dizzyworldCluster上

2. 把dizzyworldDS target到dizzyworldCluster上
完成这两个步骤后,实现了如下设计:


但是这个设计有个问题:一旦dizzyworldDS出现了故障,或者HRDatabase出现了问题,应用和Data Source即使发布到了集群上,也无法继续访问数据库了

为了达到真正的Data Souce集群,设计上需要作如下改动:
(1)数据层应该有两个物理的数据库,这两个库之间的数据是同步的(使用数据库同步工具)。
(2)创建两个Data Source,分别指向这两个物理的数据库。
(3)创建一个Multi Data Source,包含这两个Data Source。
这样,应用中只需要使用一个Multi Data Source,无需关心使用的到底是哪个Data Source,哪个数据库。
最终的设计如下


我们按以下步骤验证我们的设计:

3. 访问http://localhost/testds
点击Test Data Source按钮,观察是哪个Server响应的这个请求。
发现dizzy2输出了如下信息,说明dizzy2响应了请求:
Looking up the dizzyworldDS data source.
Getting the connection from the database.
Querying the database.

4. 把dizzyworldDS暂停,模拟dizzyworldDS出现故障


5. 重新访问http://localhost/testds
点击Test Data Source按钮,出现如下异常:
Error 500--Internal Server Error
java.lang.AssertionError: Unexpected Exception:
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:273)
at jsp_servlet.__testdatasource._jspService(__testdatasource.java:122)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

原因分析:从原理上讲,部署在集群上的应用应该可以访问到部署到集群上的Data Source,但是由于本实验中的应用部署在本地的Server上,也就是说Data Source和应用都部署在本地的Server上。
在这种情况下,为了提高性能,本地的应用pinned to Data Source,因此Data Source出现故障后,本地应用也就无法访问了。
如果应用不是部署在本地,那么应该可以访问到部署到集群上的Data Source,因为远程的应用没有pinned to Data Source。(这个说法来自官方说明,我没有验证)

彻底解决这个问题的办法是使用Multi Data Source。
6. 创建Multi Data Source:dizzyworldMultiDS


具体设置如下:
Name: dizzyworldMultiDS
JNDI Name: dizzyworldMultiDS
Algorithm Type: Failover
Target: dizzyworldCluster
Driver: Non-XA Driver
Data Sources: dizzyworldDS, dizzyworldDS2

7. 重新访问http://localhost/testds
Data Source Name:dizzyworldMultiDS
点击Test Data Source按钮,我们发现,即使dizzyworldDS处于暂停状态,应用仍然可以访问:


  • 大小: 64.6 KB
  • 大小: 91.1 KB
  • 大小: 39.2 KB
  • 大小: 7.8 KB
  • 大小: 70.9 KB
分享到:
评论

相关推荐

    WebLogic_Server配置和性能调优

    本文将深入探讨WebLogic Server的配置和性能调优,以帮助管理员实现更高效、稳定的应用服务。 ### 1. 准备知识 #### 1.1 基本概念 在开始配置和调优之前,了解一些基本概念是必要的: - **Domain**:WebLogic ...

    weblogic部署图解.rar

    5. **Data Source**:数据源是连接到数据库的桥梁,WebLogic Server管理这些数据源,确保应用程序能安全高效地访问数据库。 6. **JMS(Java Message Service)**:WebLogic支持JMS,允许应用进行异步通信和消息传递...

    weblogic9.1配置

    - **数据源(Data Source)**:用于连接数据库的数据源配置。 - **安全设置**:包括用户、角色和权限的管理。 #### 三、域的创建与配置 1. **创建域**: - 使用WebLogic Server的工具`wlst.sh`(Linux/Mac)或`...

    weblogic配置说明(正式版)

    除了上述基础配置,还有一些高级配置选项,如集群配置、安全管理、监控与性能调优等,它们对于复杂的企业级部署至关重要: - **集群配置**:通过将多个WebLogic Server实例组织成一个集群,实现负载均衡、故障转移...

    weblogic的配置说明

    通过给定文件提供的“BEA WebLogic Server™ Configuration Reference Release 8.1”文档,我们不仅能够获得详细的配置指南,还能进一步探索WebLogic服务器的高级特性和最佳实践,为构建高效、可靠的企业级应用打下...

    weblogic服务器的基本配置

    4. **JDBC Data Source**:提供数据库连接池,管理应用程序与数据库之间的连接,确保高效、安全的数据访问。 5. **JMS Resources**:Java消息服务资源,用于异步通信和消息传递。包括队列和主题,队列提供点对点...

    Weblogic Linux集群安装-作业

    #### 五、启动Weblogic集群 1. **创建启动认证信息** - 在`/data/weblogic/user_projects/domains/base_domain/servers/`目录下创建`security`子目录,并编写`boot.properties`文件以存储用户名和密码。 2. **启动...

    weblogic安装部署手册

    Weblogic 安装部署手册涵盖了 Weblogic 项目部署、Oracle 数据库的用户创建和授权、Weblogic 集群的配置、SQL 语句支持、表空间的创建、应用的部署、WebLogic 环境及资源配置、登录管理控制台、配置计算机、创建受控...

    weblogic安装和配置[汇编].pdf

    WebLogic Server 是一款由甲骨文公司(Oracle)开发的基于Java EE(Java Platform, Enterprise Edition)的应用服务器,主要用于构建、部署和管理企业级应用程序。WebLogic 8 是该产品系列的一个版本,发布于2005年...

    linux下部署weblogic

    - 配置数据源(Data Source)以连接外部数据库。 - 部署应用程序至WebLogic服务器。 - 监控服务器性能指标。 - 配置安全性设置,如SSL/TLS证书。 - 调整服务器性能参数。 #### 五、扩展知识点 - **WebLogic与...

    weblogic10.3安装与部署步骤

    6. 完成向导后,可以在“BEA Products”目录下找到启动和管理WebLogic Server的快捷方式。 **二、WebLogic 10.3的配置** 1. **配置Domain**:使用配置向导创建并配置域,包括设置域路径、管理服务器等。 - 打开...

    weblogic修改密码

    WebLogic是Oracle公司的一款企业级Java应用服务器,它提供了一个平台来部署、管理和运行Java EE应用程序。在长期未使用后,WebLogic控制台的登录密码可能会遗忘,这将导致无法正常访问和管理服务。本教程将详细介绍...

Global site tag (gtag.js) - Google Analytics