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 -~----------~----~----~----~------~----~------~--~---
