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

回答