You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by mfs <fa...@gmail.com> on 2008/11/24 21:51:22 UTC

URGENT : Does the ResultSet get closed by iBatis when using jdbcType=ResultSet

Hi Guys,

We are facing a critical issue in production and while looking into the
possible causes, we came accross this code segment where we using
jdbcType=ORACLECURSOR with corresponding jdbcType="ResultSet"..as below

--------XML MAPPING----------------

<parameterMap id="getResourceParam" class="map">
  <parameter property="resourceid" mode="IN"/>
  <parameter property="resourcelist" javaType="java.sql.ResultSet"
jdbcType="ORACLECURSOR" mode="OUT" resultMap="resourceResult"/>
</parameterMap>
  
<procedure id="getResource" parameterMap="getResourceParam">
  { call packagename.procedureName(?, ?) }
</procedure>  

-----------------
JAVA CODE 
------------------
 params.put("resourceid", resourceId);
 queryForObject("getResource", params);
        
 List resourceList = (List) params.get("resourcelist");        
 Resource resource = 
 resourceList.size() > 0 ? (Resource)resourceList.get(0) : null;


Now My question is that is iBatis "closing" up the ResultSet automatically
as involved in retrieving up in the resource "List" ? If it does than i
believe there is a typeHandler for ResultSet which takes care of that ? 

Can someone please confirm?

Thanks and Regards,

Farhan.


-- 
View this message in context: http://www.nabble.com/URGENT-%3A-Does-the-ResultSet-get-closed-by-iBatis-when-using-jdbcType%3DResultSet-tp20669564p20669564.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Re: URGENT : Does the ResultSet get closed by iBatis when using jdbcType=ResultSet

Posted by mfs <fa...@gmail.com>.
Hi Clinton,

Thanks...Thats what i eventually ended up doing (SQLExecutor is the mystery
class). And the result-set is indeed closed.

-Farhan.


Clinton Begin wrote:
> 
> The easiest and most accurate thing to do would be to mount the ibatis
> source code and step through it yourself.  We can provide general answers,
> but there's nothing like checking it right at the source.
> 
> Of course the result set "should be" closed.  Only you can confirm if it
> actually is.
> 
> Clinton
> 
> On Mon, Nov 24, 2008 at 1:51 PM, mfs <fa...@gmail.com> wrote:
> 
>>
>> Hi Guys,
>>
>> We are facing a critical issue in production and while looking into the
>> possible causes, we came accross this code segment where we using
>> jdbcType=ORACLECURSOR with corresponding jdbcType="ResultSet"..as below
>>
>> --------XML MAPPING----------------
>>
>> <parameterMap id="getResourceParam" class="map">
>>  <parameter property="resourceid" mode="IN"/>
>>  <parameter property="resourcelist" javaType="java.sql.ResultSet"
>> jdbcType="ORACLECURSOR" mode="OUT" resultMap="resourceResult"/>
>> </parameterMap>
>>
>> <procedure id="getResource" parameterMap="getResourceParam">
>>  { call packagename.procedureName(?, ?) }
>> </procedure>
>>
>> -----------------
>> JAVA CODE
>> ------------------
>>  params.put("resourceid", resourceId);
>>  queryForObject("getResource", params);
>>
>>  List resourceList = (List) params.get("resourcelist");
>>  Resource resource =
>>  resourceList.size() > 0 ? (Resource)resourceList.get(0) : null;
>>
>>
>> Now My question is that is iBatis "closing" up the ResultSet
>> automatically
>> as involved in retrieving up in the resource "List" ? If it does than i
>> believe there is a typeHandler for ResultSet which takes care of that ?
>>
>> Can someone please confirm?
>>
>> Thanks and Regards,
>>
>> Farhan.
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/URGENT-%3A-Does-the-ResultSet-get-closed-by-iBatis-when-using-jdbcType%3DResultSet-tp20669564p20669564.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/URGENT-%3A-Does-the-ResultSet-get-closed-by-iBatis-when-using-jdbcType%3DResultSet-tp20669564p20694105.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Re: URGENT : Does the ResultSet get closed by iBatis when using jdbcType=ResultSet

Posted by Clinton Begin <cl...@gmail.com>.
The easiest and most accurate thing to do would be to mount the ibatis
source code and step through it yourself.  We can provide general answers,
but there's nothing like checking it right at the source.

Of course the result set "should be" closed.  Only you can confirm if it
actually is.

Clinton

On Mon, Nov 24, 2008 at 1:51 PM, mfs <fa...@gmail.com> wrote:

>
> Hi Guys,
>
> We are facing a critical issue in production and while looking into the
> possible causes, we came accross this code segment where we using
> jdbcType=ORACLECURSOR with corresponding jdbcType="ResultSet"..as below
>
> --------XML MAPPING----------------
>
> <parameterMap id="getResourceParam" class="map">
>  <parameter property="resourceid" mode="IN"/>
>  <parameter property="resourcelist" javaType="java.sql.ResultSet"
> jdbcType="ORACLECURSOR" mode="OUT" resultMap="resourceResult"/>
> </parameterMap>
>
> <procedure id="getResource" parameterMap="getResourceParam">
>  { call packagename.procedureName(?, ?) }
> </procedure>
>
> -----------------
> JAVA CODE
> ------------------
>  params.put("resourceid", resourceId);
>  queryForObject("getResource", params);
>
>  List resourceList = (List) params.get("resourcelist");
>  Resource resource =
>  resourceList.size() > 0 ? (Resource)resourceList.get(0) : null;
>
>
> Now My question is that is iBatis "closing" up the ResultSet automatically
> as involved in retrieving up in the resource "List" ? If it does than i
> believe there is a typeHandler for ResultSet which takes care of that ?
>
> Can someone please confirm?
>
> Thanks and Regards,
>
> Farhan.
>
>
> --
> View this message in context:
> http://www.nabble.com/URGENT-%3A-Does-the-ResultSet-get-closed-by-iBatis-when-using-jdbcType%3DResultSet-tp20669564p20669564.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>