论坛首页 Java企业应用论坛

struts2+spring3,spring3有没有办法动态改到datasourse中的user及password

浏览 14282 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-07-04  
加个中间件,ACTIVEMQ,其它中间件也可以
让activemq做转发,这里就可以判断哪个用户连接哪个数据库了
不能画图,不好表达
0 请登录后投票
   发表时间:2011-07-04  
用AtomikosTransactionsEssentials试下。
0 请登录后投票
   发表时间:2011-07-04  
ACTIVEMQ 怎么用,有没有实例啥的,我可以参考下,没有用过ACTIVEMQ
0 请登录后投票
   发表时间:2011-07-04  
kyan54 写道
cheng888qi 写道
继承下com.mchange.v2.c3p0.ComboPooledDataSource,覆盖setUser, setPassword,自己从数据库读取不行吗?

 

 

 

 

属性文件可以自己动态创建吧?

下面代码应该可以实现你说的这种

 

 

	private ComboPooledDataSource buildDataSource(Properties property)
			throws PropertyVetoException {
		ComboPooledDataSource ds = new ComboPooledDataSource();
		   //加载DataSource驱动
	      ds.setDriverClass(property.getProperty(DRIVER_CLASS));
	      //设置连接数据库的url
	      ds.setJdbcUrl(property.getProperty(JDBC_URL));
	      //设置数据库用户名
	      ds.setUser(property.getProperty(USER));
	      //设置数据库密码
	      
	      ds.setPassword(property.getProperty(PASSWORD));
	      //设置池的最大连接数
	      
	      ds.setMaxPoolSize(Integer.parseInt(property.getProperty(MAX_POOL_SIZE)));
	      //设置池的最小连接数
	      ds.setMinPoolSize(Integer.parseInt(property.getProperty(MIN_POOL_SIZE)));
	      ds.setMaxStatements(Integer.parseInt(property.getProperty(MAX_STATEMENTS)));
	      ds.setMaxIdleTime(Integer.parseInt(property.getProperty(MAX_IDLETIME)));
	      ds.setInitialPoolSize(Integer.parseInt(property.getProperty(INITIAL_POOLSIZE)));
	      ds.setCheckoutTimeout(Integer.parseInt(property.getProperty(CHECKOUT_TIMEOUT)));
	      ds.setIdleConnectionTestPeriod(Integer.parseInt(property.getProperty(IDLECONNECTIONTESTPERIOD)));
		return ds;
	}

 

如果按照这样写法,我原来的super.getJdbcTemplate().queryForInt( )这种方法是不是不能用了

 

0 请登录后投票
   发表时间:2011-07-04  
lshoo 写道
用AtomikosTransactionsEssentials试下。

这个也没有用过,不知道怎么用
0 请登录后投票
   发表时间:2011-07-04  
我认为配置数据源,使用数据库连接池是为了统一资源减少系统开销,避免浪费。
看楼主的需求好像每个用户登录统一系统却使用不同的数据库。如果用户少,那么就是使用多数据源问题,没必要动态改变数据源。如果用户多,那么没必要使用数据库连接池,这样反而是种资源浪费。
0 请登录后投票
   发表时间:2011-07-04  
那你为什么要使用这个框架呢?
0 请登录后投票
   发表时间:2011-07-04  
这个框架是我很久以前就用上了,程序都做完了,客户来了个这样的要求
0 请登录后投票
   发表时间:2011-07-04  
我建议你看看这边文章《持久层动态创建、启动、停止和使用多个数据源的方法》:
http://www.iteye.com/topic/1108772
0 请登录后投票
   发表时间:2011-07-04  
newstong1 写道
这个框架是我很久以前就用上了,程序都做完了,客户来了个这样的要求

你忽视了JDBC
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics