It happens just sometimes (not always) that connection takes much longer to process and the connection is in use for longer than 16 seconds. The query looks like
Select A0.xxx .... From WCPUSES where xxx = nnnnn The findByOK is, public ValueObject findByPK(String primaryKey) throws DataAccessException { PersistenceBroker broker = null; WcpusesVO theVO = null; try { broker = ServiceLocator.getInstance().findBroker(); theVO = new WcpusesVO(); theVO.setSessionNo(new Integer(primaryKey)); Query query = new QueryByCriteria(theVO); theVO = (WcpusesVO) broker.getObjectByQuery(query); } catch (ServiceLocatorException e) { Ms4Logger.log.error("ServiceLocatorException thrown in WcpusesDAO.findByPK(): " + e.toString()); throw new DataAccessException("ServiceLocatorException thrown in WcpusesDAO.findByPK(): " + e.toString(),e); } finally { if (broker != null) { broker.close(); } } return theVO; } Here is the data mapping <class-descriptor class="com.siemens.med.hs.ms4.wcbin.WcpusesVO" table="WCPUSES"> <field-descriptor id="1" name="sessionNo" column="WCUSID" jdbc-type="INTEGER" primarykey="true" autoincrement="true" /> <field-descriptor id="2" name="userId" column="WCUSER" jdbc-type="CHAR" conversion="com.siemens.med.hs.ms4.dbcommon.conversions.TrimStringsField Conversion" /> <field-descriptor id="3" name="userKey" column="WCXXXX" jdbc-type="CHAR" conversion="com.siemens.med.hs.ms4.dbcommon.conversions.TrimStringsField Conversion" /> <field-descriptor id="4" name="remoteIp" column="WCRMTX" jdbc-type="CHAR" conversion="com.siemens.med.hs.ms4.dbcommon.conversions.TrimStringsField Conversion" /> <field-descriptor id="5" name="updateDate" column="WCUDAT" jdbc-type="INTEGER" /> <field-descriptor id="6" name="updateTime" column="WCUTIM" jdbc-type="INTEGER" /> <field-descriptor id="7" name="accessDate" column="WCLDAT" jdbc-type="INTEGER" /> <field-descriptor id="8" name="accessTime" column="WCLTIM" jdbc-type="INTEGER" /> <field-descriptor id="9" name="gsmSessionId" column="WCGSID" jdbc-type="CHAR" conversion="com.siemens.med.hs.ms4.dbcommon.conversions.TrimStringsField Conversion" /> <field-descriptor id="10" name="gsmTimeout" column="WCGTOT" jdbc-type="INTEGER" /> <field-descriptor id="11" name="workstationId" column="WCWSID" jdbc-type="CHAR" conversion="com.siemens.med.hs.ms4.dbcommon.conversions.TrimStringsField Conversion" /> </class-descriptor> "Jay" Jie Xu Siemens MED -----Original Message----- From: Armin Waibel [mailto:[EMAIL PROTECTED] Sent: Thursday, January 04, 2007 9:14 PM To: OJB Users List Subject: Re: Simple Query using OJB Hi Jay, Xu, Jie (MED US) wrote: > Hello, > > > We are using OJB in our Web application and we turn on the trace to > monitor the DataSource connections. We find that when we are running a > simple query through OJB, some time the connection will be in use for > quite long time (say 16 seconds). Any insight on this? > Could you please post the query and the mapping of the queried object? Do you lookup a PB instance, perform the query and close the used PB instance immediately after use? regards, Armin > > Here is the trace > > > > > MCWrapper id 89846770 Managed connection > [EMAIL PROTECTED] > State:STATE_TRAN_WRAPPER_INUSE Thread Id: 14f5fdea Thread Name: > Servlet.Engine.Transports : 685 Handle count 0 > Start time inuse Thu Jan 04 08:07:42 CST 2007 Time inuse 16 > (seconds) > Last allocation time Thu Jan 04 08:07:42 CST 2007 > getConnection stack trace information: > t java.lang.Throwable.<init>(Throwable.java:179) > at > com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.j > ava:435) > at > com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSourc > e.java:235) > at > com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSourc > e.java:205) > at > org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConne > ctionFromDataSource(Unknown Source) > at > org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupCo > nnection(Unknown Source) > at > org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Un > known Source) > at > org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement( > Unknown Source) > at > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown > Source) > at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown > Source) > at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source) > at > org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknow > n Source) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery( > Unknown Source) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Un > known Source) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknow > n Source) > at > org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery( > Unknown Source) > at > org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery( > Unknown Source) > at com.siemens.apps.wcbin.dao.WcpusesDAO.findByPK(WcpusesDAO.java:50) > at > com.siemens.apps.filters.SessionFilter.doFilter(SessionFilter.java:69) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInst > anceWrapper.java:130) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterCh > ain.java:54) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa > tch(WebAppRequestDispatcher.java:807) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe > questDispatcher.java:269) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq > uestDispatcher.java:156) > at > com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:1 > 21) > at > com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv > oker.java:229) > at > com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati > on(CachedInvocation.java:66) > at > com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo > ke(CacheableInvocationContext.java:106) > at > com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle > tRequestProcessor.java:126) > at > com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis > tener.java:317) > at > com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection > .java:56) > at > com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java: > 576) > at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:376) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:915) > > > > > > "Jay" Jie Xu > Siemens MED > > > > > ------------------------------------------------------------------------ ---- > This message and any included attachments are from Siemens Medical Solutions > > and are intended only for the addressee(s). > > The information contained herein may include trade secrets or privileged or > > otherwise confidential information. Unauthorized review, forwarding, printing, > > copying, distributing, or using such information is strictly prohibited and may > > be unlawful. If you received this message in error, or have reason to believe > > you are not authorized to receive it, please promptly delete this message and > > notify the sender by e-mail with a copy to [EMAIL PROTECTED] > > > Thank you --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ---------------------------------------------------------------------------- This message and any included attachments are from Siemens Medical Solutions and are intended only for the addressee(s). The information contained herein may include trade secrets or privileged or otherwise confidential information. Unauthorized review, forwarding, printing, copying, distributing, or using such information is strictly prohibited and may be unlawful. If you received this message in error, or have reason to believe you are not authorized to receive it, please promptly delete this message and notify the sender by e-mail with a copy to [EMAIL PROTECTED] Thank you --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]