Return-Path: Mailing-List: contact ibatis-user-java-help@incubator.apache.org; run by ezmlm Delivered-To: mailing list ibatis-user-java@incubator.apache.org Received: (qmail 23398 invoked by uid 99); 22 Feb 2005 21:49:36 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from scc075.its.state.nc.us (HELO scc075.its.state.nc.us) (207.4.22.39) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 22 Feb 2005 13:49:36 -0800 Received: from scc075.its.state.nc.us (127.0.0.1) by scc075.its.state.nc.us (6.5.029) id 41F3A8370018CBB6 for ibatis-user-java@incubator.apache.org; Tue, 22 Feb 2005 16:49:33 -0500 Received: from X10345X (204.211.86.210) by scc075.its.state.nc.us (6.5.029) id 41F3A833001859D0 for ibatis-user-java@incubator.apache.org; Tue, 22 Feb 2005 16:49:32 -0500 From: "Mark Bennett" To: "ibatis-user-java" Subject: Can DAO calls be in a constructor... Date: Tue, 22 Feb 2005 16:49:31 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Importance: Normal X-Virus-Checked: Checked Can DAO calls be in a constructor if it is an object created by a Complex Property? First I know this is risky because you might encounter recursion. But if no cycle is created, then is this possible at all? class MyBean { private static ProfileService profileService = ProfileService.getInstance(); public MyBean() { // *** This will cause another iBatis call while other is still in progress *** List list = profileService.getListOfSuff(1); } } Mark <[WebAppServletContext(5788681,NCJOIN,/NCJOIN)] Servlet failed with Exception com.ibatis.dao.client.DaoException: Failed to execute queryForObject - id [getJuvenile], parameterObject [20210]. Cause: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in ncjoin/persistence/sqlmapdao/sql/Profile.xml. --- The error occurred while applying a result map. --- Check the Profile.juvenileResult. --- The error happened while setting a property on the result object. --- Cause: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in ncjoin/persistence/sqlmapdao/sql/Profile.xml. --- The error occurred while applying a result map. --- Check the Profile.juvenileResult. --- The error happened while setting a property on the result object. --- Cause: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTem plate.java:164) at ncjoin.persistence.sqlmapdao.ProfileSqlMapDao.getJuvenile(ProfileSqlMapDao.j ava:22) at java.lang.reflect.Method.invoke(Native Method) at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:72) at $Proxy141.getJuvenile(Unknown Source) at ncjoin.service.ProfileService.getJuvenile(ProfileService.java:36) at ncjoin.main.servlet.RequestProcessor.processActionPerform(RequestProcessor.j ava:54) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :263) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.java:2390) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :1959) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in ncjoin/persistence/sqlmapdao/sql/Profile.xml. --- The error occurred while applying a result map. --- Check the Profile.juvenileResult. --- The error happened while setting a property on the result object. --- Cause: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWith Callback(GeneralStatement.java:180) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForO bject(GeneralStatement.java:99) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapEx ecutorDelegate.java:561) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapEx ecutorDelegate.java:536) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSession Impl.java:97) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientIm pl.java:69) at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTem plate.java:162) at ncjoin.persistence.sqlmapdao.ProfileSqlMapDao.getJuvenile(ProfileSqlMapDao.j ava:22) at java.lang.reflect.Method.invoke(Native Method) at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:72) at $Proxy141.getJuvenile(Unknown Source) at ncjoin.service.ProfileService.getJuvenile(ProfileService.java:36) at ncjoin.main.servlet.RequestProcessor.processActionPerform(RequestProcessor.j ava:54) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :263) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.java:2390) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :1959) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) Caused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(Unknown Source) at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(Unknown Source) at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.check_return_code(Unknown Source) at COM.ibm.db2.jdbc.app.DB2ResultSet.next(Unknown Source) at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.jav a:353) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java :179) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery( GeneralStatement.java:200) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWith Callback(GeneralStatement.java:168) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForO bject(GeneralStatement.java:99) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapEx ecutorDelegate.java:561) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapEx ecutorDelegate.java:536) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSession Impl.java:97) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientIm pl.java:69) at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForObject(SqlMapDaoTem plate.java:162) at ncjoin.persistence.sqlmapdao.ProfileSqlMapDao.getJuvenile(ProfileSqlMapDao.j ava:22) at java.lang.reflect.Method.invoke(Native Method) at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:72) at $Proxy141.getJuvenile(Unknown Source) at ncjoin.service.ProfileService.getJuvenile(ProfileService.java:36) at ncjoin.main.servlet.RequestProcessor.processActionPerform(RequestProcessor.j ava:54) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :263) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java :200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo ntext.java:2390) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java :1959) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) >