Добрый день. У меня проблемка с использованием стандартного jsf компонента - "Реляционная запись" Разрабатываю портлет JSR168 с JSF, создал data source на WebSphere, простестил следующим кодом: Код | Connection conn = null; Statement stmt = null; DataSource ds = null; try { // Соединение с Базой: // Получение источника данных, настроенного на сервере InitialContext ctx = new InitialContext(); ds = (DataSource)ctx.lookup("jdbc/tbase"); // Получение соединения conn = ds.getConnection(); stmt = conn.createStatement(); // Выполнение запроса к БД ResultSet res = stmt.executeQuery("SELECT * FROM t"); // Обработка результатов ...
|
Всё работает. Соединение получается, селекты проходят. В общем всё круто. Решил не париться и для вывода и апдейта использовать JSF. Добавляю компонент на JSPшку, настраиваю на работу с источником, запускаю... Ругается гад. Код | ConnectionWra E Could not determine database type: com.ibm.websphere.sdo.mediator.jdbc.exception.DBException: Not a recognized database type => MySQL at com.ibm.ws.sdo.mediator.jdbc.ConnectionWrapperImpl.initializeDbType(Unknown Source) at com.ibm.ws.sdo.mediator.jdbc.ConnectionWrapperImpl.getDBType(Unknown Source) at com.ibm.ws.sdo.mediator.jdbc.MediatorImpl.initialize(Unknown Source) at com.ibm.ws.sdo.mediator.jdbc.MediatorImpl.<init>(Unknown Source) at com.ibm.ws.sdo.mediator.jdbc.JDBCMediatorFactoryImpl.createMediator(Unknown Source) at com.ibm.ws.sdo.mediator.jdbc.JDBCMediatorFactoryImpl.createMediator(Unknown Source) at pagecode.CourseBaseView.getOppMediator(CourseBaseView.java:121) at pagecode.CourseBaseView.getOppParameters(CourseBaseView.java:109) at pagecode.CourseBaseView.doOppCreateAction(CourseBaseView.java:141) at pagecode.CourseBaseView.getOpp(CourseBaseView.java:170) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code)) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code)) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code)) at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:80) at com.ibm.faces.databind.SelectItemsPropResolver.getValue(SelectItemsPropResolver.java:41) at com.ibm.faces.sdo.SDOPropertyResolver.getValue(SDOPropertyResolver.java:66) at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167) at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151) at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243) at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:156) at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:137) at javax.faces.component.UIOutput.getValue(UIOutput.java:147) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:84) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:204) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:171) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:762) at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:604) at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:527) at com.sun.faces.taglib.html_basic.InputTextTag.doEndTag(InputTextTag.java:673) at com.ibm._jsp._CourseBaseView._jspx_meth_h_inputText_0(_CourseBaseView.java:245) at com.ibm._jsp._CourseBaseView._jspx_meth_h_form_0(_CourseBaseView.java:1013) at com.ibm._jsp._CourseBaseView._jspx_meth_hx_scriptCollector_0(_CourseBaseView.java:1120) at com.ibm._jsp._CourseBaseView._jspService(_CourseBaseView.java:168) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:673) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:178) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at org.apache.pluto.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:112) at com.ibm.faces.portlet.httpbridge.PortletRequestDispatcherWrapper.include(PortletRequestDispatcherWrapper.java:61) at com.ibm.faces.portlet.httpbridge.PortletRequestDispatcherWrapper.forward(PortletRequestDispatcherWrapper.java:35) at com.ibm.faces.context.MultipartExternalContextImpl.dispatch(MultipartExternalContextImpl.java:387) at com.ibm.faces.portlet.httpbridge.PortletExternalContextWrapper.dispatch(PortletExternalContextWrapper.java:82) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:254) at com.ibm.faces.portlet.PortletViewHandlerImpl.renderView(PortletViewHandlerImpl.java:74) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:118) at com.ibm.faces.portlet.FacesPortlet.doRender(FacesPortlet.java:316) at com.ibm.faces.portlet.FacesPortlet.doView(FacesPortlet.java:349) at coursesbase.CoursesBasePortlet.doView(CoursesBasePortlet.java:62) at com.ibm.faces.portlet.FacesPortlet.doDispatch(FacesPortlet.java:253) at javax.portlet.GenericPortlet.render(GenericPortlet.java:163) at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.render(PortletFilterChainImpl.java:144) at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.dispatch(PortletServlet.java:131) at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.doGet(PortletServlet.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at com.ibm.wps.pe.pc.std.cache.CacheablePortlet.service(CacheablePortlet.java:393) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:673) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at com.ibm.wps.pe.om.definition.impl.ServletDefinitionImpl$RDWrapper.include(ServletDefinitionImpl.java:406) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:204) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:168) at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:97) at com.ibm.wps.pe.pc.std.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:110) at com.ibm.wps.pe.pc.PortletContainerImpl.doRenderPortlet(PortletContainerImpl.java:587) at com.ibm.wps.pe.ext.render.AbstractRenderManager.performService(AbstractRenderManager.java:247) at com.ibm.wps.pe.pc.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:115) at com.ibm.wps.engine.tags.PortletRenderTag.doStartTag(PortletRenderTag.java:161) at com.ibm._jsp._Control._jspx_meth_portal$1skin_portletRender_0(_Control.java:852) at com.ibm._jsp._Control._jspx_meth_portal$1logic_if_3(_Control.java:884) at com.ibm._jsp._Control._jspService(_Control.java:498) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1239) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:670) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:178) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52) at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45) at com.ibm.wps.engine.templates.skins.Default.render(Default.java:115) at com.ibm.wps.engine.templates.SkinTemplate.render(SkinTemplate.java:71) at com.ibm.wps.composition.elements.Component.render(Component.java:845) at com.ibm.wps.composition.elements.Control.render(Control.java:124) at com.ibm.wps.composition.Composition.render(Composition.java:2568) at com.ibm.websphere.personalization.transformation.PznTransformationLayoutModel.render(PznTransformationLayoutModel.java:70) at com.ibm.wps.model.wrappers.LayoutModelWrapperFactoryImpl$LayoutModelWrapperImpl.render(LayoutModelWrapperFactoryImpl.java:218) at com.ibm.wps.engine.tags.ComponentRenderTag.doStartTag(ComponentRenderTag.java:89) at com.ibm._jsp._UnlayeredContainer_2D_V._jspx_meth_portal$1skin_layoutNodeRender_0(_UnlayeredContainer_2D_V.java:246) at com.ibm._jsp._UnlayeredContainer_2D_V._jspService(_UnlayeredContainer_2D_V.java:150) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1239) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:670) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:178) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52) at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45) at com.ibm.wps.engine.templates.skins.Default.render(Default.java:115) at com.ibm.wps.engine.templates.SkinTemplate.render(SkinTemplate.java:71) at com.ibm.wps.composition.elements.Component.render(Component.java:845) at com.ibm.wps.composition.Composition.render(Composition.java:2568) at com.ibm.websphere.personalization.transformation.PznTransformationLayoutModel.render(PznTransformationLayoutModel.java:70) at com.ibm.wps.model.wrappers.LayoutModelWrapperFactoryImpl$LayoutModelWrapperImpl.render(LayoutModelWrapperFactoryImpl.java:218) at com.ibm.wps.engine.tags2.PageRenderTag.doStartTag(PageRenderTag.java:396) at com.ibm._jsp._Home._jspService(_Home.java:82) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1239) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:670) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:178) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52) at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:54) at com.ibm.wps.engine.templates.screens.Default.render(Default.java:91) at com.ibm.wps.engine.templates.ScreenTemplate.render(ScreenTemplate.java:61) at com.ibm.wps.engine.tags2.ScreenRenderTag.doStartTag(ScreenRenderTag.java:89) at com.ibm._jsp._Default._jspx_meth_portal$1core_screenRender_0(_Default.java:4419) at com.ibm._jsp._Default._jspService(_Default.java:2267) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1239) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:670) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:178) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:613) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.handleRequest(DispatcherServiceImpl.java:87) at com.ibm.wps.services.dispatcher.DispatcherServiceImpl.include(DispatcherServiceImpl.java:52) at com.ibm.wps.services.dispatcher.Dispatcher.include(Dispatcher.java:45) at com.ibm.wps.engine.templates.themes.Default.render(Default.java:142) at com.ibm.wps.engine.templates.ThemeTemplate.render(ThemeTemplate.java:67) at com.ibm.wps.engine.phases.WPRenderPhase.processRendering(WPRenderPhase.java:322) at com.ibm.wps.engine.phases.WPRenderPhase.execute(WPRenderPhase.java:137) at com.ibm.wps.state.phases.AbstractRenderPhase.next(AbstractRenderPhase.java:106) at com.ibm.wps.engine.phases.WPAbstractRenderPhase.next(WPAbstractRenderPhase.java:93) at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:791) at com.ibm.wps.engine.Servlet.doGet(Servlet.java:629) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1282) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1239) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136) at com.ibm.wps.state.filter.StateCleanup.doFilter(StateCleanup.java:86) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121) at com.ibm.wps.mappingurl.impl.URLAnalyzer.doFilter(URLAnalyzer.java:257) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121) at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:670) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1897) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:84) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1698) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952) at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
|
Ругается в этом куске кода: Код | protected ConnectionWrapper getSDOConnectionWrapper() { if (SDOConnectionWrapper == null) { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = ConnectionManager .createJDBCConnection(SDOConnection_name); SDOConnectionWrapper = ConnectionWrapperFactory.soleInstance .createConnectionWrapper(con); } catch (Throwable e) { System.out.println("JSFException:" + e.toString()); } } return SDOConnectionWrapper; } |
В общем не знает этот самый ConnectionWrapper такой базы как mysql и я копытом бью как его заставить узнать. Кстати, импорты перед классом следующие: Код | import commonj.sdo.DataObject; import com.ibm.websphere.sdo.access.connections.ConnectionManager; import com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapperFactory; import com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapper; import com.ibm.websphere.sdo.mediator.JDBCMediator; import com.ibm.websphere.sdo.mediator.exception.MediatorException; import com.ibm.websphere.sdo.mediator.jdbc.JDBCMediatorFactory; import java.sql.Connection; import javax.faces.component.html.HtmlForm; import javax.faces.component.html.HtmlInputText; import com.ibm.faces.component.html.HtmlScriptCollector; import javax.faces.component.html.HtmlMessages; import com.ibm.faces.component.html.HtmlCommandExButton;
|
|