add an action in the catch block and this will be perfect ;) Jérome.
Selon [EMAIL PROTECTED]: > I have changed my class: > > public class QueryManager { > > private static QueryManager queryManager = null; > > private QueryRunner queryRunner = null; > > private QueryManager() { > try { > queryRunner = new QueryRunner(DataSourceSingleton.getInstance() > .getDataSource()); > } catch (Exception e) { > } > } > > public static QueryManager getInstance() { > if (queryManager == null) { > queryManager = new QueryManager(); > } > return queryManager; > } > > public QueryRunner getQueryRunner() { > return this.queryRunner; > } > > Is what you meant? > > Thanks > > > > > > sorry, another point... > > queryRunner parameter must be a QueryManager member parameter, you have to > > remove "static" > > > > Selon [EMAIL PROTECTED]: > > > >> i'm seeing another point. Your QueryManager does not offer the guarantee > >> to > >> be a > >> singleton, you have to declare a private constructor. > >> > >> Jérome. > >> > >> > >> Selon [EMAIL PROTECTED]: > >> > >> > Selon [EMAIL PROTECTED]: > >> > > >> > > Hi, > >> > > I'm using a dao pattern, the call > >> > > > >> > > QueryManager.getInstance().getQueryRunner().query(...); > >> > > > >> > > is executed in my dao object. > >> > > > >> > > Servlet calls dao method. > >> > > > >> > ok. > >> > > >> > > What do you mean with it depends of your project size? > >> > Hi, > >> > If you have a small project it is not mandatory to spend a lot of time > >> in > >> the > >> > abstraction layers, but this is advised. If you implement this > >> approach, > >> life > >> > is > >> > wonderful. :) > >> > > >> > Jérome. > >> > > >> > > > >> > > Thanks a lot > >> > > > >> > > Diego > >> > > > >> > > > >> > > > Hi, > >> > > > It seems correct, why not, QueryRunner object is thread safe. > >> > > > Web layer which calls integration layer directly, it's a bad > >> design but > >> > > > this > >> > > > depends of your project size. > >> > > > > >> > > > Jérome. > >> > > > > >> > > > > >> > > > > >> > > > Selon [EMAIL PROTECTED]: > >> > > > > >> > > >> Hi, I'm developing a web application using DbUtils classes to > >> execute > >> > > >> queries and so on. > >> > > >> > >> > > >> I user QueryRunner class with a DataSource. > >> > > >> > >> > > >> I red this class is thread safe, so I implemented a Singleton to > >> > > >> instance > >> > > >> QueryRunner only once. > >> > > >> > >> > > >> This is my code: > >> > > >> > >> > > >> public class QueryManager { > >> > > >> > >> > > >> private static QueryManager queryManager = null; > >> > > >> > >> > > >> private static QueryRunner queryRunner = null; > >> > > >> > >> > > >> static { > >> > > >> try { > >> > > >> queryRunner = new QueryRunner(DataSourceSingleton.getInstance() > >> > > >> .getDataSource()); > >> > > >> } catch (Exception e) { > >> > > >> } > >> > > >> } > >> > > >> > >> > > >> public static QueryManager getInstance() { > >> > > >> if (queryManager == null) { > >> > > >> queryManager = new QueryManager(); > >> > > >> } > >> > > >> return queryManager; > >> > > >> } > >> > > >> > >> > > >> public QueryRunner getQueryRunner() { > >> > > >> return queryRunner; > >> > > >> } > >> > > >> > >> > > >> In my servlets I use: > >> > > >> > >> > > >> QueryManager.getInstance().getQueryRunner().query(...); > >> > > >> > >> > > >> Is this correct? > >> > > >> > >> > > >> Which is the best practice to use QueryRunner in a web context? > >> > > >> > >> > > >> Thanks a lot in advance > >> > > >> > >> > > >> > >> > > >> > --------------------------------------------------------------------- > >> > > >> 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] > >> > > > > >> > > > > >> > > > >> > > > >> > > > >> > > --------------------------------------------------------------------- > >> > > 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] > >> > > >> > > >> > >> > >> > >> --------------------------------------------------------------------- > >> 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] > > > > > > > > --------------------------------------------------------------------- > 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]