服务器运行的状态,修改Spring中的applicationContext.xml配置文件

spring整合hibernate中的配置文件hibernate.cfg.xml的详解总结 applicationContext.xml配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi: 阅读详情
最近在做一个项目,需要访问多个数据库,而且需要在服务器运行不重新启动的情况下,动态的修改spring中配置的数据源datasource,在网上找了很多资料,最后找到了适合我的方法,下面总结一下。 
spring的配置文件是在容器启动的时候就加载到内存中的,如果手动改了application.xml,我们必须要重新启动服务器配置文件才会生效。而在spring中提供了一个类WebApplicationContext,这个类可以让你获得一些bean,可以修改内存中的信息,我就是通过这个类来实现的。下面是我具体的代码。 

package com.southdigital.hospital; 

import java.io.IOException; 

import javax.servlet.ServletContext; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.springframework.web.context.WebApplicationContext; 
import org.springframework.web.context.support.WebApplicationContextUtils; 

import com.mchange.v2.c3p0.ComboPooledDataSource; 

public class ChangeSpringConfig extends HttpServlet 
{ 

private String ipAddress = "127.0.0.1"; 

/** 
* The doGet method of the servlet. <br> 
* 
* This method is called when a form has its tag value method equals to get. 
* 
* @param request the request send by the client to the server 
* @param response the response send by the server to the client 
* @throws ServletException if an error occurred 
* @throws IOException if an error occurred 
*/ 


public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
doPost(request, response); 
} 

/** 
* The doPost method of the servlet. <br> 
* 
* This method is called when a form has its tag value method equals to post. 
* 
* @param request the request send by the client to the server 
* @param response the response send by the server to the client 
* @throws ServletException if an error occurred 
* @throws IOException if an error occurred 
*/ 
public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
//先取得servleContext对象,提供给spring的WebApplicationUtils来动态修改applicationContext.xml 

ipAddress = request.getParameter("ipAddress"); 
System.out.println(ipAddress); 

ServletContext servletContext = this.getServletContext(); 
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); 
    ComboPooledDataSource cpds = (ComboPooledDataSource) applicationContext.getBean("dataSource"); 
    cpds.setJdbcUrl("jdbc:mysql://"+ipAddress+":3306/ssh"); 

} 

} 

注意:通过这种方法修改applicationContext.xml文件的时候用c3p0,而不可以用dbcp,dbcp不支持动态修改读取到内存里面的数据。


对于proxool 的datasource 类是 org.logicalcobwebs.proxool.ProxoolDataSource

在Spring的配置文件applicationContext-mybatis.xml中配置数据源对象中,配置SQL心跳包及参数含义 在Spring的配置文件applicationContext-mybatis.xml中配置数据源对象 context:property-placeholder location="classpath:database.properties"/> bean id="dataSource" class="org.apache.commons.dbcp. 阅读详情

相关推荐

基于FSL的DTI数据预处理流程

最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流。如果有错误的地方欢迎大家指正!        我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同。   原始数据:包括3DT1数据和高分辨率DTI数据,均是dicom格式。 工具:MRICRON和FSL,所有的命令均在Linux的终端中运行。   1.格式转换:将后缀名为dcm

zaza_zaza的博客 2万+

web应用中Spring ApplicationContext的动态更新

  在web应用中时常需要修改配置,并动态的重新加载ApplicationContext。比如,设置和切换数据库。以下给出一个方法,并通过代码验证可行性。   方法的基本思路是,为WebApplicationContext指定一个上级ApplicationContext,然后需要更新的时候先得到它的引用,再调用refresh方法重新加载。如果直接获得WebApplicationContext实例...

weixin_33766168的博客 217

cellranger安装以及使用

接受cellranger count的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如tumor组原来有4个样本,PBMC组有两个样本,现在可以使用aggr生成最后的tumor和PBMC两个矩阵,并且进行标准化去掉测序深度的影响。但是由于病毒基因组太小了,且注释结果只有CDS没有exon,所以曲线救国,将CDS整体替换为exon,也不进行过滤了,直接下一步。虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。自动执行这个命令,需要将“

m0_59974475的博客 9392

ApplicationContext.xml文件配置的两种方式

今天无意中发现在ApplicationContext.xml文件中获取外置文件的参数采用的是context,而不是 spring,就想着在spring的IOC中是不是也有一种方式可以解决这个问题,经过查找,发现是可以的通过某些内置的类,就可以实现: 废话少说: 第一种: http://www.springframework.org/schema/beans"  xmlns:xsi="htt

小糊涂蛋大糊涂神的专栏 1195

iOS远程真机之ios-minicap安装使用完全指南

minicap 是开源项目 STF 中的高速截图工具。STF利用此工具不断的传输图片信息并在web端绘制实现 以前只有Android版本,最近有新的ios版本,现在就安装过程中遇到的一些问题进行分享(ps:感谢sorccu 在issue里面给我的指点) 首先上地址:https://github.com/openstf/ios-minicap 你可以git clone或者直接下载zip包。

甫式人生 1万+

基于Lumerical的1550 nm InGaAs/InP与InGaAs/InAlAs APD设计与功率饱和度优化

摘要 本研究利用Ansys Lumerical软件对1550 nm激光雷达应用的InGaAs/InP和InGaAs/InAlAs雪崩光电二极管(APD)进行仿真设计与优化。通过FDTD光学仿真获取光吸收分布,结合CHARGE模块的电学仿真分析暗电流、光电流及雪崩增益特性。重点研究了两种材料体系的性能差异,并针对近距离强反射导致的功率饱和问题提出结构优化方案。仿真结果表明,InGaAs/InAlAs APD具有更优的过量噪声特性,而优化的电荷层设计可显著提升器件的功率饱和阈值。研究提供了完整的仿真流程与代码实

huanghm88的专栏 95

java 动态加载配置文件_关于Spring配置文件的动态载入的修改

一、概述Spring MVC的开发是基于action-servlet.xml进行配置,但不支持开发模式下进行动态的配置文件载入。本文主要是介绍如何修改Spring的源代码,使Spring支持动态的配置文件更新,让开发变得更加简单。二、实现action-servlet.xml动态载入Spring提取配置文件的思路:每次Spring MVC会在使用前将XML文件载入内存中,并生成映射类的实例,放在Ma...

weixin_39615596的博客 498

功能安全实战系列12-英飞凌TC3xx锁步核及其自检开发

本文介绍了英飞凌Tricore系列芯片的锁步核(Lockstep Core)功能及其故障注入自检机制。锁步核通过主核和检查核同步执行指令,并比较输出结果来检测硬件故障。文章详细阐述了锁步核的工作原理、使能配置方法以及故障注入自检的实现过程。故障注入测试通过专用寄存器LCLTEST触发,系统会定期自动测试比较器节点,验证锁步核的故障检测能力。当检测到异常时,会触发SMU模块的警报机制。该技术为汽车电子系统提供了重要的功能安全保障。

initiallizer的博客 917

ApplicationContext.xml修改

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http:...

aotun5786的博客 291

YOLO26改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头

本文记录的是基于移动倒置瓶颈 MBConv 的 YOLO26 的检测头轻量化改进方法研究。采用了独特的倒置瓶颈结构,通过的操作以及,在高效提取特征的同时极大地降低了计算量。本文将的设计优势融入j检测头中,使其在目标检测任务中不仅能够更精准地识别各类目标,还能在计算资源有限的情况下快速响应,展现出更为卓越的实时检测能力。EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks的实现代码如下: 首先在代码中加入如下代码: 其

Limiiiing的博客 286

AgentScope深入分析-ReActAgent

ReActAgent 是 AgentScope 框架中最核心的智能体实现,它完美诠释了"推理-行动"(Reasoning-Acting)循环的精髓。本文将深入分析 ReActAgent 的类继承关系、核心执行流程,以及状态管理、钩子机制、实时介入等关键技术点。通过阅读本文,你会理解智能体如何与模型交互、如何执行工具、如何处理中断,以及这些机制背后的设计考量。模块化:通过组合不同的组件(模型、格式化器、工具集、记忆)来构建智能体透明性:所有关键流程都对开发者可见,可以精确控制可扩展性。

842

idea修改tomcat url,idea修改application context

修改 web 程序默认启动 url。修改项目 Application context; 如图,两处都要改成一样的,在启动工程的时候会自动在浏览器打开项目首页

主要写大数据集群一线运维和学习工作经验 2951

STM32入门教程:智能马桶盖控制

通过编写相应的代码,您可以根据需要实现其他功能,例如座圈温度调节和液晶显示屏显示等。初始化配置 首先,使用STM32CubeMX创建一个新的工程,并选择您所使用的STM32单片机型号。智能马桶盖是一种集成了多种功能的智能家居设备,通过控制芯片来实现自动冲水、座圈加热、座圈温度调节等功能。在本教程中,我们将使用STM32系列单片机来控制智能马桶盖的各个功能。以上代码演示了如何通过STM32的GPIO控制引脚来控制智能马桶盖的冲水和座圈加热功能。写代码 接下来,我们将通过编写代码来控制智能马桶盖的各个功能。

2401_85258012的博客 657

java_spring_applicationContext.xml配置文件介绍

样版:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframewor

子龙修仙的博客 6557

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

applicationContext.xml 配置文件的存放位置

eb.xml中classpath:和classpath*:有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 存放位置: 1:src下面 需要在web.xml中定义如下: &lt;context-param&gt; &lt;param-name&gt;con...

bingguang1993的博客 3644

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

spring-mvc.xml与applicationContext.xml的区别

一、用途不同 applicationContext.xml文件通常用于加载spring系统级别的组件,比如bean的初始化。 spring-mvc.xml文件通常用于加载controller层需要的类,比如拦截器,mvc标签加载的类。 二、加载位置不同 applicationContext.xml加载在标签中,作为FrameworkServlet的参数属性。 spring-mvc.xml文件当做DispatcherServlet的参数属性进行加载。 applicationContext.xml是全局的,应用

ChineseSoftware的博客 1259

java 读取spring配置文件_读取Spring的applicationContext.xml配置文件

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");ctx.getBean("jmsAdaptor");ctx.getBean("jmsAdaptor4Producer");...2) 利用FileSystemXmlApplicationContext,这种方法可以a) 将配置文...

weixin_31518073的博客 469

spring 之 applicationContext.xml配置文件的存放位置

http://www.cnblogs.com/wanggd/archive/2013/05/20/3087972.html web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 存放位置: 1:sr...

LIXG425的专栏 417

Maven配置文件Spring配置文件

njn setting.xml setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件,用于所有的项目。在maven中存在两个 settings.xml,一个位于maven2的安装目录conf下面,作为全局性配置,另外一个settings.xml作为本地配置。默认的位置为:…/.m2/setting.xml。如果两者都存在,它们的内容将被合并,并且用户范围的...

yuan_exc的博客 2606

java web.xml spring配置文件_Spring中,applicationContext.xml 配置文件在web.xml中的配置详解...

一、首先写一下代码结构。二、再看web.xml中的配置情况。SpringMVCindex.htmlindex.htmindex.jspdefault.htmldefault.htmdefault.jspcontextConfigLocation/WEB-INF/classes/config/applicationContext.xmlorg.springframework.web.context....

weixin_39632524的博客 343

Spring容器ApplicationContext

如果需要使用第三方MVC框架,则不能在web.xml文件中配置ApplicationContext的启动。但是, ApplicationContext是Spring的容器,负责管理所有的组件,从业务逻辑层组件,到持久层组件,都必须运行在Spring容器中。因 此,必须在Web应用启动时,创建Spring的ApplicationContext实例。事实上,Spring ApplictionConte

xinew的专栏 1194
上一篇: commons-logging 和 log4j 之间的关系
下一篇: MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
java85140031
博客等级 码龄18年 34粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值