私はアプリケーションをDockerコンテナに、Webspehre libertyサーバーにEARファイルとしてデプロイしています。Docker Containerを使用してOracle Databaseに接続できません
ただし、アプリケーションが実行中の場合、Websphere libertyのserver.xmlに定義されているjndiルックアップを使用して接続しようとしている別のホストで実行されているOracle Databaseに接続できません。
<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を実行することができますが、実行時に、DB接続を確立することができません。
注意: - 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のリバティー・サーバーで実行されています。同じEARがWASコンソールで正常に動作しています。クラスとlibがWEB-INFの下にあるかどうかを確認しました。 – user1270569