当前位置:首页>开发>正文

springboot如何配置多个jndi数据源 springboot怎样动态配置数据库并设置默认数据源

2023-06-06 16:07:15 互联网 未知 开发

 springboot如何配置多个jndi数据源 springboot怎样动态配置数据库并设置默认数据源

springboot如何配置多个jndi数据源

代码:

/**
* 获取数据库连接方法
*/
public Connection getConn() throws
Exception {
Connection conn = null
try {

//connection原始的连接方式可以转换为OracleConnection
Connection con =
this.commonDao.getCurrentConnection()
Connection conWas = null

if(this.wasConnection){//使用tomcat请把biz-context-finance.xml中的wasConnection的值设置为false
注释掉biz-context-core.xml中的id="websphereForOracleConnection"内容

WebSphereNativeJdbcExtractor websphereForOracleConnection =
(WebSphereNativeJdbcExtractor)SpringUtils.getSpringBean("websphereForOracleConnection")

conWas = websphereForOracleConnection.getNativeConnection(con)
}else{

conWas = con
}

conWas.setAutoCommit(false)
conn =
conWas.getMetaData().getConnection()
} catch (DaoException e) {

e.printStackTrace()
}
return conn
}

springboot怎样动态配置数据库并设置默认数据源?

1,需要配置DynamicDataSource,DynamicDataSourceAspect,DynamicDataSourceContextHolder,DynamicDataSourceRegister,TargetDataSource来完成多数据源的配置 2,需要在配置文件中定义多数据源 3,测试过只有在前端调用过程中能够用多数据源,如果在各个中心去配置是行不通的,已经亲测过了。可以看看csdn上的我的这篇文章: spring boot动态数据源配置

关于spring中的配置怎么解决

使用JTA事务,jboss,weblogic,websphere 等等ejb容器都自带了jta事务的支持,如果你使用tomcat,jetty或者其他web容器,则需要安装第三方的jta插件,假定这里使用jboss容器,则需要在jboss中配置JNDI数据源,比如有两个mysql的数据源需要被JTA管理,则需要在jboss的server/default/deploy目录下新建两个数据源文件app1-ds.xml和app2-ds.xml,这里只拿一个文件做例子,内容如下所示:
MySqlDS1 com.mysql.jdbc.jdbc2.optional.MysqlXADataSource jdbc:mysql://localhost:3306/test root root false true org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter mySQL
完成JNDI数据源配置后,需要在spring中获取JNDI数据源,配置如下:


然后定义JTA事务如下:
class="org.springframework.transaction.jta.JtaTransactionManager">

通过声明式事务模板(代理),指定目标类的特定方法采用JTA事务:
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED

tomcat下jndi的如何配置数据源用spring注入数据源?

Tomcat的领域提供支持。境界类似于Unix的组内。在Unix中,一组对应于特定的系统资源,一组不能访问该资源不属于它。 Tomcat的境界到由不同的用户对不同的应用(类似系统资源)(类似于组)进行分配。未经授权的用户无法访问应用程序。 Tomcat的提供了三种境界,1:JDBCRealm,这个领域将存在的用户信息数据库,通过JDBC访问的用户信息进行身份验证。 2:JNDIRealm,存在于基于LDAP服务器的用户信息,通过JNDI获取用户信息。 3:MemoryRealm,存在用户信息在一个XML文件中,当谈到使用这种境界顶级管理器应用程序的用户进行身份验证。我们可以很容易地访问应用程序由境界,以验证客户端。

spring 中怎么配置数据源的

第一步 引入jar包,例如c3p0.jar
第二步 将jarbuildpath引入类中
第三步 在spring的配置文件中配置

例如:
〈bean id=datasource class=com.mchange...〉
配置连接信息(手机写太累了) 配置好之后可以弄一个测试累, 弄一个 applicationContext ctx=new classpathxmlapplicationcontext(xxx.xml) datasource ds = ctx.getbeans(datasource) sysout(ds)如果输出了结果,就表明连接成功了

最新文章