0

我将我的应用程序部署到Docker容器中,在Webspehre Liberty服务器上作为EAR文件进行部署。无法使用Docker容器连接到Oracle数据库

但是,当应用程序正在运行时,它无法连接到另一个主机上运行的Oracle数据库,我们正试图通过websphere liberty的server.xml中定义的jndi查找连接到另一个主机。

<dataSource id="oracle" jndiName="jdbc/QADBApp" type="javax.sql.Datasource"> 

<jdbcDriver libraryRef="OracleJDBCLib"/> 

<properties.oracle URL="jdbc:oracle:thin:@//xyz.mycomany.com:1521/prexyz" username="****" password="****" /> 

我们能够从容器内的反应和得到,但在运行时ping服务器,它不能建立数据库连接。

注意: - Oracle DB没有集装箱。我们只是试图通过上面提到的jndi查找建立连接。

以下是错误信息。任何人都可以帮助在这种情况下如何连接数据库?在此先感谢!

[ERROR ] Context initialization failed 
Error creating bean with name 'myappFacade': Injection of autowired dependencies failed; nested exception is  org.springframework.beans.factory.BeanCreationException: Could not autowire field: private transient com.mycompany.myappTool.service.util.HibernateUtil com.mycompany.myappTool.service.facade.myappToolFacade.hibernateUtil; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateUtil' defined in file [/opt/ibm/wlp/usr/servers/defaultServer/apps/expanded/myapp.ear/myappTool.war/WEB-INF/classes/com/mycompany/myappTool/service/util/HibernateUtil.class]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com.mycompany.myappTool.service.util.HibernateUtil (initialization failure) 
[ERROR ] SRVE0271E: Uncaught init() exception created by servlet [myapp] in application [myapp]: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myappFacade': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private transient com.mycompany.myappTool.service.util.HibernateUtil com.mycompany.myappTool.service.facade.myappToolFacade.hibernateUtil; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateUtil' defined in file [/opt/ibm/wlp/usr/servers/defaultServer/apps/expanded/myapp.ear/myappTool.war/WEB-INF/classes/com/mycompany/myappTool/service/util/HibernateUtil.class]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com.mycompany.myappTool.service.util.HibernateUtil (initialization failure) 
+0

你是否检查过类路径,该类是库的一部分?只是为了确认,只有应用程序是集装箱的。 – Rao

+0

只有应用程序被容器化并在Websphere Liberty服务器上运行。相同的EAR在WAS控制台上工作正常。按照预期,我们检查了类和lib在WEB-INF下。 – user1270569

回答

相关问题