Also, someone (I think it was Paul Marcotte) emailed me a patch for the
observer that affected some edge cases involving simultaneous access to the
injection logic, which I really need to incorporate and update the files
(I'll actually commit to doing this today since I have some time and it's
not a very major change).


On Sat, Mar 21, 2009 at 3:07 PM, Brian Kotek <[email protected]> wrote:

> Also, do you have something that is setting or clearing the variables scope
> in your Decorator where your injected beans are stored, something like
> <cfset variables.instance = StructNew() />?
>
>
>
> On Sat, Mar 21, 2009 at 12:15 PM, Bob Silverberg <[email protected]
> > wrote:
>
>> What does your Coldspring config look like for Transfer and the
>> BeanInjector, and what does your code that loads the CS bean factory look
>> like?
>>
>>
>> On Sat, Mar 21, 2009 at 11:55 AM, Brian G <[email protected]> wrote:
>>
>>>
>>> A couple of weeks ago I released a big update to my app.  When I roll
>>> out new versions and restart ColdFusion on my two web servers, I'm
>>> seeing service layer objects which are injected via Brian K's
>>> TDOBeanInjectorObserver "disappear" in some of the first Transfer
>>> objects that are loaded.  My app has the following moving parts:
>>>
>>> * Transfer 1.1, Coldspring 1.2
>>> * TDOBeanInjectorObserver in Coldspring
>>> * All decorators extend AbstractBeanDecorator
>>> * TransferSync for synchornizing my two node cluster
>>>
>>> My rollout process looks like:
>>>
>>> * Ant build script to check out and push code
>>> * Restart ColdFusion
>>>
>>> When the server first comes up, it seems as though some Transfer
>>> objects are not fully initialized and they're missing some of their
>>> injected dependencies.  What's interesting is that the object makes it
>>> into the Transfer cache so it continues to throw errors when a method
>>> on the decorator is called that accesses the injected service object.
>>> Here's one such error but it occurs on any variety of objects (user,
>>> event, others):
>>>
>>> Expression: Element CLUBMEMBERSERVICE is undefined in VARIABLES.
>>>
>>>    * /var/www/pukka/api-prod/model/event/event.cfc (51, ??)
>>>    * /var/www/pukka/api-prod/model/event/event.cfc (207,
>>> CF_UDFMETHOD)
>>>    * /var/www/pukka/msr-prod/views/registration/dsp.host.cfm (4,
>>> CF_TEMPLATEPROXY)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/view/ViewRenderer.cfm
>>> (29, CFINCLUDE)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/view/ViewRenderer.cfc
>>> (50, CFMODULE)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
>>> (450, CF_TEMPLATEPROXY)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
>>> (340, CF_UDFMETHOD)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
>>> (289, CF_UDFMETHOD)
>>>    * /var/www/pukka/api-prod/ModelGlue/unity/ModelGlue.cfm (126,
>>> CF_TEMPLATEPROXY)
>>>    * /var/www/pukka/msr-prod/index.cfm (82, CFINCLUDE)
>>>
>>> Line 207 basically calls getClubMemberService() and line 51 is
>>> returning variables.ClubMemberService (which was supposed to be
>>> injected by setClubMemberService()).
>>>
>>> My update a couple of weeks ago changed a lot of bits; I switched from
>>> my own bean injector to Brian Kotek's version, I updated the version
>>> of TransferSync, I changed my decorators to all extend an
>>> AbstractBeanDecorator... and of course I didn't see these issues in my
>>> development environment. :)
>>>
>>> I've been able to correct it by doing a soft restart on my app (which
>>> clears the Transfer cache, restarts Coldspring and my Model-glue apps/
>>> etc).  Sometimes it takes a couple of tries though to correct it.
>>> Anyone seen this before?  Any thoughts about where to poke?
>>>
>>>
>>> Brian, Mr. Edge Case
>>>
>>>
>>>
>>
>>
>> --
>> Bob Silverberg
>> www.silverwareconsulting.com
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to