我有一个spring boot web-application,它作为war文件部署到Tomcat8 Server。
此Tomcat 8 Server通过JNDI提供connectivityService。
如果我在普通的动态网络应用程序中使用此服务,它可以正常使用:
Context ctx = null;
try {
ctx = new InitialContext();
} catch (NamingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ConnectivityConfiguration configuration = null;
try {
configuration = (ConnectivityConfiguration) ctx.lookup("java:comp/env/connectivityConfiguration");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我在web.xml中注册资源:
<resource-ref>
<res-ref-name>connectivityConfiguration</res-ref-name>
<res-type>com.sap.core.connectivity.api.configuration.ConnectivityConfiguration</res-type>
</resource-ref>
但是如果尝试在我的Spring-Boot应用程序中使用它,它会给我这个例外:
javax.naming.NameNotFoundException: Name [connectivityConfiguration] is not bound in this Context. Unable to find [connectivityConfiguration].
在我的春季启动时没有web.xml,那么如何注册资源?
我尝试在属性文件中注册它,但它给了我同样的例外:
spring.datasource.jndi-name=java:comp/env/connectivityConfiguration
我无法找到针对具体案例的解决方案。
我真的很感激一些指导。
问候 Maverin