3

アプリケーションの一部が突然機能しなくなった理由を突き止めようとしています。私はSpring1をWeblogic8.1.4.0とHibernateで実行しています。レポートジェネレーターは、最初は本番サーバーで、次に金曜日に実験中のdevサーバーとqaサーバーで失敗した部分です。コードに変更を加えませんでしたが、マッピングクエリのコンパイルステートメントでMissingDataSource例外が発生します。変更されたのはデータベース内のいくつかのレコードだけでしたが、それらはかなり単純な変更であり、影響があったとは思えません。また、2つの開発アプリが失敗した可能性がある頃の金曜日から、次のエラーが発生しました。

開発サーバーからのログのエラーは次のとおりです。

04-06 14:31:34 ERROR [main] org.springframework.web.context.ContextLoader: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myDataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is javax.naming.LinkException: 

そして、QAサーバーにデプロイしてから約10分後に同様のものがあります。

これは、WebLogicで定義されたデータソースと接続プールを参照しています。接続を確認してテストしましたが、問題はないようです。

これを引き起こした可能性のあることが起こっている可能性がありますか?コードの変更ではないことを確認するために先週のビルドに戻しましたが、同じデータソースに必要な例外が発生します。

04-07 16:15:04 DEBUG [ExecuteThread: '14' for queue: 'default'] org.eei.survey.data.RegionDataDAO$NERCRegionMappingQuery: RdbmsOperation with SQL [{call prc_NERCRegions_get}] compiled
04-07 16:15:04 ERROR [ExecuteThread: '14' for queue: 'default'] error.jsp: Error page displayed to user due to unhandled exception
org.springframework.dao.InvalidDataAccessApiUsageException: dataSource is required
    at org.springframework.jdbc.object.RdbmsOperation.compile(RdbmsOperation.java:300)
    at org.eei.survey.data.ReportDAO$NCRMappingQuery.<init>(ReportDAO.java:535)
    at org.eei.survey.data.ReportDAO.executePrcNCR(ReportDAO.java:548)
    at org.eei.survey.data.ReportDAO.getNCR(ReportDAO.java:59)
    at jsp_servlet._reliability._charts.__barncr._jspService(__barncr.java:235)

どんな助けでもいただければ幸いです。

更新:エラーの完全なスタックトレースは次のとおりです。

04-08 14:56:19 WARN  [ExecuteThread: '14' for queue: 'default'] org.apache.shale.faces.ShaleViewHandler: No ViewController for viewId /reliability/support/reportgen.faces found under name reliability$support$reportgen
04-08 14:56:19 DEBUG [ExecuteThread: '14' for queue: 'default'] org.eei.survey.data.ReportDAO: java.lang.IllegalArgumentException: No DataSource specified
04-08 14:56:19 ERROR [ExecuteThread: '14' for queue: 'default'] error.jsp: Error page displayed to user due to unhandled exception
java.lang.NullPointerException
    at jsp_servlet._reliability._support.__reportgen._jspService(__reportgen.java:156)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:322)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
    at org.apache.shale.faces.ShaleViewHandler.renderView(ShaleViewHandler.java:142)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at org.apache.shale.faces.InvokeCommand.execute(InvokeCommand.java:40)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:166)
    at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:218)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at org.eei.survey.web.UserFilter.doFilterInternal(UserFilter.java:30)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
4

2 に答える 2

1

なぜこれが起こったのかについてはまだはっきりとした答えはありませんが、今のところそれを修正する方法を理解しました。基本的に、デプロイしたアプリケーションを停止してから、接続プールをリセットしてから、再起動する必要がありました。サーバー全体を再起動しても同じことができると思いましたが、何度か試しても結果が得られませんでした。現在、問題の原因を突き止める時間はありませんが、誰かがこの状況に陥った場合は、少なくとも迅速な解決策があります。

于 2012-04-09T17:40:48.653 に答える
1

データソースの jdni 解決に問題があります。weblogic jdni プールを見て、jdni に正しい名前を使用していることを確認してください。java:comp/env/jdbc/reliabilityDS が機能していません。

これは役立つかもしれません:

http://books.google.com/books?id=TiAKHpPHpHIC&pg=PA159&lpg=PA159&dq=weblogic+8.1+jndi+tree&source=bl&ots=cjKNXJZl4o&sig=FHs0YL6hqslNOYjuWpjyRTlCpYY&hl=en&sa=X&ei=veWBT5aVNoTMtgeJ8fC9Bg&ved=0CC0Q6AEwAQ#v=onepage&q=weblogic%208.1% 20jndi%20tree&f=false

これもまた

http://docs.oracle.com/cd/E13222_01/wls/docs81/jndi/jndi.html

これも

Tomcat と Weblogic JNDI ルックアップ

于 2012-04-08T19:22:57.210 に答える