我已经为使用外部Tomcat的Spring Boot应用程序的JNDI数据源连接进行了bellow提到的配置。
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="jdbc/MyPostgresDB"
global="jdbc/MyPostgresDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/postgres"
username="postgres"
password="postgres"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
context.xml类似
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink name="jdbc/MyPostgresDB"
global="jdbc/MyPostgresDB”
auth="Container"
type="javax.sql.DataSource" />
为spring boot定义了Application.Properties
spring.datasource.jndi-name=java:comp/env/jdbc/MyPostgres
更新了web.xml,如
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<resource-ref>
<description>JNDI LookUp</description>
<res-ref-name>jdbc/MyPostgresDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<!-- <res-sharing-scope>Shareable</res-sharing-scope> -->
</resource-ref>
</web-app>
我们应该在server.xml的Resource标记中添加factory=“org.apache.tomcat.jdbc.pool.DataSourceFactory”,并确保在扩展SpringBootServletInitializer类的类中设置JndiDatasource
详细答案请参阅此处
我正在使用嵌入式Jetty 9.2,并试图设置一个需要通过JNDI访问的Oracle数据源。我相信我已经正确地设置了这个,但是它不起作用,尽管花了一天的大部分时间在网上搜索。有人能帮忙吗? 以下是我的启动代码: 这是我的jetty-env.xml(在我的战争的WEB-INF目录中): 这是我的web.xml参考资料: 我得到两个错误。当我启动服务器时,我得到 JAVAlang.IllegalSta
我试图从运行在WebSphere7上的web应用程序中调用SAP web服务。 客户机是从WSDL生成的,我使用JNDI查找来查找服务。查找失败,出现。 网状物xml: JNDI查找: 例外情况: 我已经使用来显示所有的名称,但是我看不到。 有许多JDBC资源也可以通过JNDI访问。这些在垃圾堆中可见,工作正常。 我忘了什么吗?
我在weblogic中创建了一个名为jdbc/myds的oracle数据源。
如果有人能帮助我纠正代码中的问题,我将不胜感激。不知道我哪里错了。 当前我的persistence.xml包含
我的代码无法使用JNDI查找JDBC资源。我得到以下异常: [根异常是javax.naming.nameNotFoundException:context:ppp-14415node01cell/nodes/ppp-14415node01/servers/server1,name:jdbc/admincob:未找到名称admincob中的第一个组件。[根异常是org.omg.cosnaming.n
在查找jdbc数据源的JNDI连接时,我遇到以下错误: javax。命名。ConfigurationException:无法完成“java:”名称上的JNDI操作,因为服务器运行时无法将该操作的线程与任何J2EE应用程序组件关联。当使用“java:”名称的JNDI客户端未在服务器应用程序请求的线程上执行时,可能会出现这种情况。确保J2EE应用程序不会在静态代码块或该J2EE应用程序创建的线程中对“