gpt4 book ai didi

java - 在 Spring 应用程序中从 JBOSS 4.2.3 配置 JNDI 数据源

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:39 25 4
gpt4 key购买 nike

这是我的 mysql-ds.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/DefaultDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/usuarios</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>da</password>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>

这是我在 context.xml 中的 bean

<beans>
<bean name="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jdbc/DefaultDS</value>
</property>
</bean>

这是正确的方法吗?当我运行 junit 测试时发生此错误

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [context.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial

这是我在这个网站上的第一个问题,谢谢。

最佳答案

我认为你需要“java:jdbc/DefaultDS”

所以 bean 定义如下:

<bean name="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">   
<property name="jndiName">
<value>java:jdbc/DefaultDS</value>
</property>
</bean>

关于java - 在 Spring 应用程序中从 JBOSS 4.2.3 配置 JNDI 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33403559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com