嗨,我正在尝试使用jndi数据源。下面是代码
context.xml
<Context antiJARLocking="true" path="/SpringMVCTest">
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver"
maxActive="20" maxIdle="10" maxWait="10000"
name="jdbc/pluto" password=""
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/spring?zeroDateTimeBehavior=convertToNull"
username="pluto"/>
</Context>
在spring servlet配置bean中是:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jdbc/pluto" value="java:comp/env/jdbc/pluto"/>
</bean>
我得到这个错误
org.springframework.beans.factory.beanCreationException:创建名为“Contact Controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private App.Contact.Service.ContactService App.Contact.Controller.ContactController.ContactService;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“Contact ServiceImpl”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:private app.contact.dao.contactdao app.contact.service.contactserviceimpl.contactdao;嵌套异常为org.springframework.beans.factory.beanCreationException:创建名为“contact daoImpl”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beancreationexception:无法自动连接字段:private org.hibernate.sessionfactory app.contact.dao.contactdaoimpl.sessionfactory;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建ServletContext资源[/WEB-INF/-servlet.xml]中定义的名称为“会话工厂”的bean时出错:设置bean属性“data source”时无法解析对bean“data source”的引用;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“data source”的bean时出错,该bean在ServletContext资源[/web-inf/-servlet.xml]中定义:设置属性值时出错;嵌套异常为org.springframework.beans.NotWritablePropertyException:bean类[org.springframework.jndi.jndiobjectfactorybean]的属性“jdbc/pluto”无效:bean属性“jdbc/pluto”不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?相关原因:org.springframework.beans.factory.BeanCreationException:创建ServletContext资源[/WEB-INF/-servlet.xml]中定义的名为“Data Source”的bean时出错:设置属性值时出错;嵌套异常为org.springframework.beans.NotWritablePropertyException:bean类[org.springframework.jndi.jndiobjectfactorybean]的属性“jdbc/pluto”无效:bean属性“jdbc/pluto”不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?
您有这样一个bean定义
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jdbc/pluto" value="java:comp/env/jdbc/pluto"/>
</bean>
属性名jdbc/pluto
应该与一个setter匹配,因此spring需要类似于setjdbc/pluto()
的东西,但这显然不是正确的Java语法。
查看JNDiObjectFactoryBean
,您似乎需要从JNDiObjectLocator
超级类中获得setJndIname()
方法。
所以你的bean应该看起来像
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/pluto"/>
</bean>
问题内容: 我正在尝试设置一些jUnit测试。我们的数据库由服务器使用JNDI连接。我们在root.xml中有一个描述设置的xml。如何设置jUnit以连接数据库?我希望它只是从root.xml中读取内容,但是无论如何我都愿意进行设置。 问题答案: 我发现最好的方法是使用称为Simple- Jndi的 东西。 我将此添加到Maven文件中: 您可以在此处下载软件包,下载内容包含说明手册。 http
我试图存储以前播放过的歌曲的uri,使用share d首选项。但是当为了播放歌曲而获取和重建uri时,我会收到以下错误消息: 05-03 20:43:14.642 8617-8716/com.stopwatch.appW/MediaPlayer:无法在客户端打开文件;尝试服务器端:java.lang.安全异常:权限拒绝:打开提供程序com.android.providers.media.Media
我的系统有三个数据源,都以名为datasourceA、datasourceB、datasourceC的bean的形式公开。我试图将spring batch的数据源设置为datasourceB,但我遇到了一些问题。 我的Spring班 在这个设置中,我在启动时会遇到这个错误 我无法将我的任何数据源设置为@Prime,因为我的Spring批处理编写器使用所有3个数据源进行读取和写入。我正在使用JPA存
如何动态设置数据源?像下面的Spring: 我可以从Spring导入这个功能到Java的EE 7企业应用程序吗?
我需要为SpringBoot应用程序设置两个数据源。目前,用于(成功地)处理MariaDB服务器上超时的单个数据源工作解决方案在application.properties中设置了以下三个参数 我使用基于Java的数据源配置检查过的各种示例大致如下:
定义 SHOW RESOURCES [FROM schemaName] 说明 列 说明 name 数据源名称 type 数据源类型 host 数据源地址 port 数据源端口 db 数据库名称 attribute 数据源参数 示例 mysql> show resources; +------+-------+-----------+------+------+----------------