OK, so Java isn't my first language, busted...

----- Original Message -----
From: "David Graham" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, June 03, 2003 10:25 AM
Subject: Re: [OT] data layer, try-catch-finally, connections


> Setting the conn, rs, and s pointers to null in this method is pointless
and
> confuses Java newbies.
>
> David
>
>
> >     public static void closeconn (java.sql.Connection conn,
> >java.sql.Statement s, java.sql.ResultSet rs) throws java.sql.SQLException
{
> >         try {
> >             if (rs != null) {
> >                 rs.close();
> >                 rs = null;
> >             }
> >             if (s != null) {
> >                 s.close();
> >                 s = null;
> >             }
> >             if (conn != null) {
> >                 conn.close();
> >                 conn = null;
> >             }
> >         } catch (java.sql.SQLException e) {
> >             closeconn(conn, s, rs, e);
> >         }
> >     }
> >
> >and if THAT one throws an exception, it calls this:
> >
> >     public static void closeconn (java.sql.Connection conn,
> >java.sql.Statement s, java.sql.ResultSet rs,
> >         java.sql.SQLException e) throws java.sql.SQLException {
> >
> >         if (rs != null) {
> >             try {
> >                 rs.close();
> >                 rs = null;
> >             } catch (java.sql.SQLException rse) {
> >                 e.setNextException (rse);
> >                 rs = null;
> >             }
> >         }
> >         if (s != null) {
> >             try {
> >                 s.close();
> >                 s = null;
> >             } catch (java.sql.SQLException se) {
> >                 e.setNextException (se);
> >                 s = null;
> >             }
> >         }
> >         if (conn != null) {
> >             try {
> >                 conn.close();
> >                 conn = null;
> >             } catch (java.sql.SQLException ce) {
> >                 e.setNextException (ce);
> >                 conn = null;
> >             }
> >         }
> >         throw new java.sql.SQLException (e.getMessage(),
e.getSQLState(),
> >e.getErrorCode());
> >     }
> >
> >Crazy, perhaps, but it works quite well.
> >
> >----- Original Message -----
> >From: "Mike Whittaker" <[EMAIL PROTECTED]>
> >To: "Struts List" <[EMAIL PROTECTED]>
> >Sent: Tuesday, June 03, 2003 10:14 AM
> >Subject: [OT] data layer, try-catch-finally, connections
> >
> >
> > > I guess you've all been here, so can you answer this?
> > >
> > > you have do a 'finally' to ensure you close the connection/release it
> >back
> > > to the pool.
> > >
> > > In the controller tier this is easy, get the connection in the
> > > Filter/RequestProcessor/Action when whatever returns you can finally
> >close
> > > it.
> > >
> > > However this ties it to the controller layer.  I want my connections
> > > instigated from the business layer.  But because so many processes
> >require
> >a
> > > connection I will have identical try,catch,finally block all over the
> >place.
> > >
> > > Any one got a solution to this?
> > >
> > > Thankyou
> > > --
> > > Mike W
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> _________________________________________________________________
> Protect your PC - get McAfee.com VirusScan Online
> http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to