-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Sinoea,
sinoea kaabi wrote:
> Christopher Schultz wrote:
>> You aren't using any class-level members in your static methods so
>> you should be fine.
>
> This means that I cannot declare a:
>
> public class Data {
>
> private static DataSource datasource = null;
>
> public static DataSource getDataSource() {
> if (datasource == null) {
> // create a datasource
> }
> return datasource;
> }
>
> }
Well, you /can/, but it wouldn't be a very good idea.
> In the code above the class-level member is the datasource.
>
> Do you mean I should do like this instead:
>
> public class Data {
>
>
> public static DataSource getDataSource() {
>
> // create a new datasource for each call to this method
>
> return datasource;
>
> }
> }
Assuming that the 'datasource' object is still shared among threads,
it's still a bad idea. DataSource objects are not guaranteed to be
threadsafe, so you shoule not share them.
This is a bad example, because you should never cache the DataSource in
the first place: you should always get it from the JNDI tree.
- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkjXmj8ACgkQ9CaO5/Lv0PDlcgCdFNuTHa9TJL8zLKfKCTMWEn0+
n38AniRE9T74fDioAZeOuVI/HbZlYIf+
=rQsW
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]