cancel
Showing results for 
Search instead for 
Did you mean: 

finalizing JDBCConnectionWrapper on unclosed connection! - java.lang.Except

Former Member
0 Kudos

Hello Guru's,

on our SAP NetWeaver AS, Java with Enterprise Portal, we have the follow error message very often in our default trace.

what can we do to solve this problem?


finalizing JDBCConnectionWrapper on unclosed connection! - java.lang.Exception
	at com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionWrapper.<init>(JDBCConnectionWrapper.java:68)
	at com.sapportals.wcm.repository.manager.cm.persistence.ConnectionHandler.getANewConnection(ConnectionHandler.java:66)
	at com.sapportals.wcm.repository.manager.cm.persistence.BasicPersistenceDB.getANewConnection(BasicPersistenceDB.java:136)
	at com.sapportals.wcm.repository.manager.cm.persistence.DBContentInputStream.getInternalStream(DBContentInputStream.java:278)
	at com.sapportals.wcm.repository.manager.cm.persistence.DBContentInputStream.<init>(DBContentInputStream.java:50)
	at com.sapportals.wcm.repository.manager.cm.persistence.BasicPersistenceDB.selectDocumentContent(BasicPersistenceDB.java:1627)
	at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:114)
	at com.sapportals.wcm.repository.manager.cm.persistence.commonjdbc.DBContent.getInputStream(DBContent.java:95)
	at com.sapportals.wcm.repository.ContentImpl$ContentWithPrefetchedInputStream.<init>(ContentImpl.java:402)
	at com.sapportals.wcm.repository.ContentImpl.initContent(ContentImpl.java:360)
	at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:111)
	at com.sapportals.wcm.repository.ContentImpl.getInputStream(ContentImpl.java:132)
	at com.sap.nw.wpc.core.utils.Utils.getContentAsString(Utils.java:197)
	at com.sap.nw.wpc.core.utils.Utils.getContentAsString(Utils.java:133)
	at com.sap.nw.wpc.runtime.component.HtmlContainerComponent.doContent(HtmlContainerComponent.java:49)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
	at com.sap.nw.wpc.runtime.AbstractDisplayComponent.service(AbstractDisplayComponent.java:110)
	at com.sapportals.portal.prt.component.CachablePortalComponent.service(CachablePortalComponent.java:273)
	at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
	at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
	at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
	at com.sapportals.portal.prt.core.async.AsyncPortalComponentResponse.include(AsyncPortalComponentResponse.java:355)
	at com.sapportals.portal.prt.core.async.AsyncPortalComponentResponse.include(AsyncPortalComponentResponse.java:310)
	at com.sap.nw.wpc.runtime.AbstractContainerComponent.doContent(AbstractContainerComponent.java:88)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
	at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
	at com.sap.nw.wpc.runtime.AbstractDisplayComponent.service(AbstractDisplayComponent.java:110)
	at com.sapportals.portal.prt.component.CachablePortalComponent.service(CachablePortalComponent.java:273)
	at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
	at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
	at com.sapportals.portal.prt.core.async.AsyncIncludeRunnable$1$DoDispatchRequest.run(AsyncIncludeRunnable.java:375)
	at java.security.AccessController.doPrivileged(AccessController.java:242)
	at com.sapportals.portal.prt.core.async.AsyncIncludeRunnable.run(AsyncIncludeRunnable.java:388)
	at com.sapportals.portal.prt.core.async.ThreadContextRunnable.run(ThreadContextRunnable.java:164)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:729)
	at java.lang.Thread.run(Thread.java:761)

Category : 
Application : 
Thread : Thread[Finalizer thread,5,system]
Message ID : 001125C5799C002800000074000810EA000469663D842363
Source Name : com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionWrapper
Argument Objs : 
Arguments : 
Dsr Component : n/a
Dsr Transaction : 1288b8603b8611dea7f7001125c5799c
Dsr User : 
Indent : 0
Level : 0
Message Code : 
Message Type : 0
Relatives : 
Resource Bundlename : 
Session : 0
Source : com.sapportals.wcm.util.jdbc.connectionpool.JDBCConnectionWrapper
ThreadObject : Thread[Finalizer thread,5,system]
Transaction : 
User : Guest

regards

chris

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

system reboot solved issue

detlev_beutner
Active Contributor
0 Kudos

Hi Christian,

The background is a small bug in com.sap.nw.wpc.core.utils.Utils.getContentAsString where getInputStream is called on a KM resource (the correct forum for this question would have been portal-km), without closing the InputStream afterwards. Behind the scenes, getInputStream opens a JDBC connection which won't be closed afterwards.

So, if this still happens, it would be the best to open an OSS message to report this bug to SAP so that this can be fixed in the web page composer implementation. But on the other hand, this is now more than one year old - maybe this is already fixed. I cannot check, as I don't use WPC at the moment.

Best regards

Detlev