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 --~--~---------~--~----~------------~-------~--~----~ 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 transfer-dev@googlegroups.com To unsubscribe from this group, send email to transfer-dev-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/transfer-dev?hl=en -~----------~----~----~----~------~----~------~--~---