在有关DriverManagerDataSource
类的Spring javadoc文章中,该类非常简单,建议使用
使用容器提供的JNDI数据源。这样DataSource可以通过DataSourceSpring ApplicationContext中的bean 形式公开。JndiObjectFactoryBean
问题是:我该如何完成?
例如,如果我希望让DataSourcebean
访问我的自定义MySQL数据库,那我需要什么?我应该在上下文配置等中写些什么?
如果使用基于Spring XML架构的配置,请在Spring上下文中进行如下设置:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd">
...
<jee:jndi-lookup id="dbDataSource"
jndi-name="jdbc/DatabaseName"
expected-type="javax.sql.DataSource" />
或者,使用以下简单的bean配置进行设置:
<bean id="DatabaseName" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/DatabaseName"/>
</bean>
你可以使用以下内容在tomcat的server.xml中声明JNDI资源:
<GlobalNamingResources>
<Resource name="jdbc/DatabaseName"
auth="Container"
type="javax.sql.DataSource"
username="dbUser"
password="dbPassword"
url="jdbc:postgresql://localhost/dbname"
driverClassName="org.postgresql.Driver"
initialSize="20"
maxWaitMillis="15000"
maxTotal="75"
maxIdle="20"
maxAge="7200000"
testOnBorrow="true"
validationQuery="select 1"
/>
</GlobalNamingResources>
并从Tomcat的web context.xml中引用JNDI资源,如下所示:
<ResourceLink name="jdbc/DatabaseName"
global="jdbc/DatabaseName"
type="javax.sql.DataSource"/>
我想用Spring Boot配置JNDI数据源 我知道可以在application.properties.中使用以下内容创建jndi。我在纠结的是如何将其与JBoss WildFly联系起来? a.我需要在WildFly的standalone.xml下添加/更改什么和b. Spring Boot主应用程序类ProjectPocApiApplication下需要的任何更改 谢谢
问题内容: 我对Spring还是很陌生,想知道如何创建使用模拟数据源的JUnit测试以及如何在其中使用JNDI上下文?当前,我的应用程序使用来自tomcat的JNDI上下文来检索连接,并通过该连接从数据库中检索数据。所以我想我需要模拟JNDI调用和数据检索。关于解决此问题的最佳方法的任何很好的指示都是很棒的!非常感谢! 问题答案: 我通常在单独的文件中定义我的JNDI依赖项,例如: 这样,在测试资
根据这两个答案[1][2],可以使用服务器名称指示(SNI)从同一个提供两个SSL证书。 我的问题是,如何设置这个?我可以设置两个虚拟主机,但我仍然只有一个连接器,它向客户机提供指定的SSL证书。在连接器中,可以指定用于证书的密钥存储和别名,但没有参数说明该连接器用于哪个虚拟主机,或者根据所使用的域向客户机提供哪个证书。 我如何告诉tomcat在使用SNI时必须使用哪个SSL证书(或者更正确地说,
null null null null 一个写得很好的连贯的问题-作为格式化文本 产生错误的代码-格式文本 整个错误追溯-格式文本 可能是当前和预期的结果-作为格式化的文本,或图像(如果是绘图) 数据,以易于使用的形式-格式化文本
问题内容: 我有一个从命令行运行的Java项目。它正在使用Spring。目前,我的项目是mySQL。使用可以从下面的config.xml中看到 我的公司要求我将项目从使用MySQL更改为使用JNDI数据源。 下面是我的Java代码,可以看到正在使用jdbcTemplate: 有人可以告诉我如何更改它以使用JNDI数据源。我还需要在某个地方进行数据库池的JNDI服务吗?我们有带有数据源的JBoss