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)
你是否检查过类路径,该类是库的一部分?只是为了确认,只有应用程序是集装箱的。 – Rao
只有应用程序被容器化并在Websphere Liberty服务器上运行。相同的EAR在WAS控制台上工作正常。按照预期,我们检查了类和lib在WEB-INF下。 – user1270569