|
From: <jue...@we...> - 2003-11-05 08:07:46
|
Cameron, =20 Good point: I've just added a check to ListableBeanFactoryImpl's = preInstantiateSingletons method to ignore FactoryBeans that return = isSingleton=3Dfalse. I'm also inclined to agree that adding some = "lazy-init" argument to the "bean" tag would make sense. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Cameron Braid Gesendet: Mi 05.11.2003 05:26 An: spr...@li... Betreff: [[W3-SPAM]] - Re: [Springframework-developer] Singelton = FactoryBeans are asked for an object before beanFactor.getBean(name) is = called by application - Email found in subject Colin Sampaleanu wrote: > This is happening because AbstractApplicationContext foreces > singletons (which includes your FactoryBean) to be pre-instantiated. > This essentially calls getBean() on the bean, which ends up calling > getObject(). > > Coincidentally, just a few days ago I asked here why singletons were > always preinstantiated, with no ability to turn off this behaviour, > but nobody commented... It probably makes sense to be able to turn > this off for specific beans. > I agree. Wouldn't it make sense to not preinstantiate FactoryBeans that aren't singeltons (FactoryBean.isSingelton()=3Dfalse) since this initial = instance will be disposed of anyway. Thanks, Cameron. > Regards, > Colin > > Cameron Braid wrote: > >> I have a FactoryBean that is a singleton. It is a prototype factory >> (is that correct terminoligy?) >> >> When the application context initialized, the FactoryBean.getObject() >> is being called before I call getBean() from my application. >> >> The problem is that the contract for BeanFactory.getObject() states >> that it shoud never be null. >> >> /** >> * Return an instance (possibly shared or independent) of the = object >> * managed by this factory. As with a BeanFactory, this allows >> * support for both the Singleton and Prototype design pattern. >> * @return an instance of the bean *(should never be null)* >> * @throws Exception in case of creation errors >> */ >> Object getObject() throws Exception; >> >> Though in my application, I can't gaurantee this. I am relying on >> source of information that doesn't exist until a servlet call is = made. >> >> How come this happens, and is it necessary to create an instance that >> gets thrown away ? >> >> Cheers >> >> Cameron > > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > -- Any damn fool can write code that a computer can understand... The trick is to write code that humans can understand. [Martin Fowler = http://www.martinfowler.com/distributedComputing/refactoring.pdf] ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <jue...@we...> - 2003-11-05 11:28:09
|
I'Ve just added support for lazy initialization of singletons, and a = "lazy-init" of the XML "bean" tag (with "false" as default). On the = occasion, I've also reworked = AbstractBeanDefinition/RootBeanDefinition/ChildBeanDefinition for more = consistency in terms of parameter handling. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: Mi 05.11.2003 09:37 An: spr...@li... Betreff: [[W3-SPAM]] - Re: [Springframework-developer] Singelton = FactoryBeans are asked for an object before beanFactor.getBean(name) is = called by application - Email found in subject >Good point: I've just added a check to ListableBeanFactoryImpl's preInstantiateSingletons method to ignore FactoryBeans that return isSingleton=3Dfalse. I'm also inclined to agree that adding some = "lazy-init" argument to the "bean" tag would make sense. Yes, a lazy option would be good. However, I think eager instantiation = is the appropriate default. Regards, Rod ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Cameron B. <ca...@da...> - 2003-11-05 11:46:01
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
configurable lazy-init : excellent thanks.<br>
<br>
What are your plans for singleton FactoryBeans where getObject is a
prototype. Currently they are eager-inited. In this case I think
that the 'lazy-init' attribute should be ignored and should not call
getObject on the FactoryBean during the init phase<br>
<br>
Thanks.<br>
<br>
Cameron.<br>
<br>
jürgen höller [werk3AT] wrote:<br>
<blockquote type="cite"
cite="mid...@co...">
<pre wrap="">I'Ve just added support for lazy initialization of singletons, and a "lazy-init" of the XML "bean" tag (with "false" as default). On the occasion, I've also reworked AbstractBeanDefinition/RootBeanDefinition/ChildBeanDefinition for more consistency in terms of parameter handling.
Juergen
________________________________
Von: <a class="moz-txt-link-abbreviated" href="mailto:spr...@li...">spr...@li...</a> im Auftrag von Rod Johnson
Gesendet: Mi 05.11.2003 09:37
An: <a class="moz-txt-link-abbreviated" href="mailto:spr...@li...">spr...@li...</a>
Betreff: [[W3-SPAM]] - Re: [Springframework-developer] Singelton FactoryBeans are asked for an object before beanFactor.getBean(name) is called by application - Email found in subject
</pre>
<blockquote type="cite">
<pre wrap="">Good point: I've just added a check to ListableBeanFactoryImpl's
</pre>
</blockquote>
<pre wrap=""><!---->preInstantiateSingletons method to ignore FactoryBeans that return
isSingleton=false. I'm also inclined to agree that adding some "lazy-init"
argument to the "bean" tag would make sense.
Yes, a lazy option would be good. However, I think eager instantiation is
the appropriate default.
Regards,
Rod
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: <a class="moz-txt-link-freetext" href="http://sourceforge.net/donate/">http://sourceforge.net/donate/</a>
_______________________________________________
Springframework-developer mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Spr...@li...">Spr...@li...</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/springframework-developer">https://lists.sourceforge.net/lists/listinfo/springframework-developer</a>
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: <a class="moz-txt-link-freetext" href="http://sourceforge.net/donate/">http://sourceforge.net/donate/</a>
_______________________________________________
Springframework-developer mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Spr...@li...">Spr...@li...</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/springframework-developer">https://lists.sourceforge.net/lists/listinfo/springframework-developer</a>
</pre>
</blockquote>
<br>
<br>
<pre cols="72" class="moz-signature">--
Any damn fool can write code that a computer can understand...
The trick is to write code that humans can understand.
[Martin Fowler <a class="moz-txt-link-freetext" href="http://www.martinfowler.com/distributedComputing/refactoring.pdf">http://www.martinfowler.com/distributedComputing/refactoring.pdf</a>]</pre>
</body>
</html>
|
|
From: Rod J. <rod...@in...> - 2003-11-05 08:38:16
|
>Good point: I've just added a check to ListableBeanFactoryImpl's preInstantiateSingletons method to ignore FactoryBeans that return isSingleton=false. I'm also inclined to agree that adding some "lazy-init" argument to the "bean" tag would make sense. Yes, a lazy option would be good. However, I think eager instantiation is the appropriate default. Regards, Rod |