[英]How to use jndi datasource in Jboss 7
在Jboss 5中,我将数据源用于远程DB,如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<datasources>
<local-tx-datasource>
<jndi-name>dsName</jndi-name>
...
<connection-url>jdbc:oracle:thin:@xxx:2074:xx</connection-url>
</local-tx-datasource>
</datasources>
我以这种方式从applicationContext.xml调用:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:dsName"/>
</bean>
在Jboss7中可以做到吗? 在这些文章中, JBoss 7.1-声明数据源和通过JNDI https://developer.jboss.org/thread/196876进行 访问
我发现
谢谢
WildFly(和AS7)不支持远程数据源查找,我认为这是一个故意的决定。 如果您在适用的较旧版本上使用它,则很容易造成可怕的性能问题,大量服务器端内存泄漏等。
拥有一个的用例是什么? 最好的选择通常是将数据逻辑封装在由DB在服务器端进行工作的EJB中,然后从客户端调用它。
那就是说,我不确定您是否真的在尝试使用“远程”数据源查找。 查看有关数据源配置基础的指南。
我得到
使用URL [file:... applicationContext.xml]中定义的名称为'dataSource'的bean创建时出错:调用init方法失败; 嵌套的异常是javax.naming.CommunicationException:无法连接到任何服务器。 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1708)上尝试的服务器:[远程://本地主机:4447(java.net.ConnectException:连接被拒绝:没有更多信息)]
它仅在我以这种方式配置数据源时才有效:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" >
<value>...</value>
</property>
<property name="username" >
<value>...</value>
</property>
<property name="password" >
<value>...</value>
</property>
</bean>
没有jndi,直接在applicationContext.xml中
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.