2017-06-05 12 views
0

websphere 8.5とspringを使った接続に関する問題を理解しようとしていました。私はこのサイトと他のサイトについていくつかの質問を読んだが、何も動かないようだ。websphere 8.5.5.0とSpringでデータソースを設定しますか?

websphereでは、データソースのjndi名をjdbc/connection0に設定する必要があります。

web.xmlとspring設定ファイルを使用してWebアプリケーションで接続を設定しようとしています。我々は、接続を参照してみてください春-datasource.xmlに比べ

<resource-ref > 
    <description>connection0</description> 
    <res-ref-name>connection0</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
    <mapped-name>connection0</mapped-name> 
</resource-ref> 

 <property name="jndiName" value="jdbc/connection0"/> 
     <property name="lookupOnStartup" value="false"/> 
     <property name="cache" value="true"/> 
     <property name="proxyInterface" value="javax.sql.DataSource"/>   
    </bean> 

私はまた、データソースを参照するために、ファイルのibm-ウェブ-bnd.xmlを追加しました(ファイルは、WEB-INFディレクトリの下にある):?

< XMLバージョン= "1.0" エンコード= "UTF-8">? xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: "xmlns = schemaLocation = "http://websphere.ibm.com/xml/ns/javaee>http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd" バージョン= "1.0">

我々は、EARファイルを作成し、我々アプリケーションサーバー上に展開することができます。私たちはデータベースにアクセスしようとすると、 は、しかし、我々は、これはスタックトレースでエラーが表示されます。

[05/06/17 9.59.33:514 CEST] 0000006f SystemOut O it.XXXX.sicurezza.db.DbHelper - - > openJndiConnection:見つからないinitCtx.lookup( "java:comp/env/url/connection0")。墓!! [05/06/17 9.59.33:515 CEST] 0000006f SystemOut O 05-06-2017 09:59:33エラー[WebContainer:1] it.XXXX.sicurezza.taglib.allow.AllowTag - NamingManager.getURLContextが見つかりませんこのスキームのファクトリ:java javax.naming.ConfigurationException:NamingManager.getURLContextは、このスキームのファクトリを見つけることができません。java at com.ibm.ws.naming.util.Helpers.checkForUrlContext(Helpers.java:1631) at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:160) (com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179) 、org.apache.aries) jndi.DelegateContext.lookup(DelegateContext.java:161) at javax.naming.InitialContext.lookup(InitialContext.java:423) at it.XXXX.sicurezza.db.DbHelper.openJndiConnection(DbHelper.java:78) it.XXXX.sicurezza.db.DbHelper.openConnection(DbHelper.java:53) it.XXXX.sicurezza.db.DaoManager.isInternalSecurityEnabled(DaoManager.java:108) at it.XXXX.sicurezza.manager。 com.ibm._jsp._editOrdineForm._jspx_meth_allow_allow_8でit.XXXX.sicurezza.taglib.allow.AllowTag.doStartTag(AllowTag.java:116) でAbilitazioniManagerFactory.getAbilitazioniManager(AbilitazioniManagerFactory.java:29) (_editOrdineForm.java:7626) com.ibm._jsp._editOrdineForm._jspServiceでcom.ibm._jsp._editOrdineForm._jspx_meth_c_if_39(_editOrdineForm.java:7668) (_editOrdineForm.java:658)com.ibm.ws.jsp.runtimeで で。HttpJspBase.service(HttpJspBase.java:99) (javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 、com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227) (com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776) 、com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458) at com.ibm。 com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) のcom.ibm.ws.jsp.webcontainerextにあるAbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:216) at com.ibm.ws.webcontainer.filter.WebA ppFilterChain.invokeTarget(WebAppFilterChain.java:136)com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilterでcom.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79) (WebAppFilterManagerで 。 Javaの:928) com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatchで で(WebAppRequestDispatcher.java:1385) でcom.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:549) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1045) at org.apache.jasper.runtime。 PageContextImpl.include(PageContextImpl.java:527) at org.apache.struts.tiles.TilesUtil org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)の のorg.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:99)の のImpl.doInclude(TilesUtilImpl.java:99) 760) at org.apache.struts.taglib.tiles.InsertTag $ InsertHandler.doEndTag(InsertTag.java:892) at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) at com.ibm._jsp._layout.jspx_meth_tiles_insert_3(_layout.java:451) com.ibm._jsp._layout._jspService(_layout.java:201) com.ibm.ws.jsp.runtime.HttpJspBase.service( HttpJspBase.java:99) javax.servlet.http.HttpServlet.service(HttpServlet.java:668) com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776) (com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458) at com.ibm)での3210 com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) のcom.ibm.ws.jsp.webcontainerextにあるAbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:216)com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)で com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilterで (WebAppFilterChain。 java:79) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilt (WebAppFilterManager.java:928) (com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385) org.springframeworkでorg.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:240) でcom.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194) で。 Web.servlet.view.AbstractView.render(AbstractView.java:258) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1174) at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:901) at org.springframework.web.servlet。(FrameworkServlet.java:501) でのDispatcherServlet.doService at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) (javax.servlet.http.HttpServlet.java:668) (com.ibm.ws.webcontainer.servlet.ServletWrapper)。サービス(ServletWrapper.java:1227) (com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776) 、com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java: 458) com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)(WebAppFilterChain.java:136) (com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79) at com.ibm)。 ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) (com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025) 、com.ibm.ws.webcontainer.webapp)。 WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385)org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModelでcom.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194) で (InternalResourceView。 java:240) at org.springframework.web.servlet.view.AbstractView.render (AbstractView.java:258) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1174) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:901) at org .springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:501) at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) (javax.servlet.http.HttpServlet.java:668) at com.ibm.ws .webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227) at com.ibm.ws.we bcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776) (com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458) 、com.ibm.ws.webcontainer.servlet.ServletWrapperImpl)。 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilterでのhandleRequest(ServletWrapperImpl.java:178)com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTargetで (WebAppFilterChain.java:136) (WebAppFilterChain.java: 97) it.XXXX.oppe0.allow.filter.AllowFilter.doFilterでorg.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:265) (AllowFilter.java:125) でorg.acegisecurityで。 util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.interc org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilterでept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)で (FilterChainProxy。 Javaの:org.acegisecurity.providersでorg.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) でorg.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124) で275) 。 (フィルタチェーンのプロパティ)。org.acegisecurity.ui.AbstractProcessingFilter.doFilterでorg.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) (AbstractProcessingFilter.java:271)ORGで でのdoFilter(SecurityContextHolderAwareRequestFilter.java:81) 。 org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilterでorg.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) でacegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) (FilterChainProxy。 Javaの:org.acegisecurityでorg.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) でorg.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110) で275) 。コンtext.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)it.XXXX.oppe0.acegi.SessionExpirationFilter.doFilterでorg.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275) (SessionExpirationFilter.javaで : 76)org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:275)org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149で )org.acegisecurity.util.FilterToBeanProxyで で 。 doFilter(FilterToBeanProxy.java:98) (com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) (com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java: 91) at org.disp (FilterInstanceWrapper.java:195) (com.ibm.ws.webcontainer.filter.WebAppFilterChain)で、次のように入力します。 doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928) (com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java: 1025) (com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) at com。 WebController.java:976) t(WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDisrimination HttpInboundLink.java:459) (com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526) 、com.ibm.ws.http.channel.inbound.impl.HttpInboundLink)。 processRequest(HttpInboundLink.java:312) com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) (com.ibm.ws.tcp.channel.impl.AioReadCompletionListener)。 futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture .fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler $ 2.run(ResultHandler.java:905) at com.ibm.ws.util。 ThreadPool $ Worker.run(ThreadPool.java:1862)

セットアップの推奨事項はありますか?

+0

をあなたはこのラインで慎重に調べる必要があります。 '[05/06/17 9.59.33:514 CEST] 0000006f SystemOut O it.infogroup.sicurezza.db.DbHelper - > openJndiConnection:initCtx.lookup(" java:comp/env/url/connection0 ")が見つかりません。墓!! '' jdbc/connection0 'と表示されると予想されるので、パスは正しくないようですが、代わりに "url/connection0"と表示されます。 –

+0

データソースを検索するコードを投稿してください。 –

答えて

0

あなたは

java:comp/env/url/connection0 

などのデータソースをルックアップし、サーバーの設定は、Webでの

jdbc/connection0 

その後、あなたのリソース参照のJNDI名を持つデータソースを定義したいアプリケーションがある場合.xmlは

<resource-ref > 
    <description>connection0</description> 
    <res-ref-name>url/connection0</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
</resource-ref> 

である必要があります。また、bi所見ファイル(IBM-ウェブ-bnd.xml)として、以下:

<resource-ref name="url/connection0" binding-name="jdbc/connection0"> 
</resource-ref> 
+0

私はspring-datasource.xmlに問題があります(あなたの提案のようには動作しません) –

+0

明確にするため、spring-datasource.xmlの変更を提案していませんでしたが、デプロイメント記述子(web.xml)とバインディング(ibm-web-bnd.xml) – njr

関連する問題