Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 18 17:43
  • Apr 18 17:40
    rmcintosh opened #531
  • Apr 06 17:34
    asimakos commented #530
  • Apr 06 17:03
    sneiland closed #530
  • Apr 06 17:03
    sneiland commented #530
  • Apr 06 10:27
    asimakos edited #530
  • Apr 06 10:26
    asimakos opened #530
  • Mar 25 00:02

    sneiland on renderer

    Rename renderBuilder to avoid c… (compare)

  • Mar 25 00:00
    Travis framework-one/fw1 (feature/renderer) passed (773)
  • Mar 24 23:54

    sneiland on renderer

    Configure renderer example with… Split data rendering functions … (compare)

  • Mar 12 13:53
    tonyjunkes commented #529
  • Mar 12 11:16
    asimakos commented #529
  • Mar 12 10:32
    asimakos commented #529
  • Mar 12 10:29
    asimakos commented #529
  • Mar 12 04:48
    tonyjunkes commented #529
  • Mar 08 20:07
    asimakos commented #529
  • Mar 08 18:58
    matthewjones commented #529
  • Mar 08 18:31
    asimakos opened #529
  • Mar 05 18:59
    sneiland closed #528
  • Mar 05 15:05
    tonyjunkes commented #528
Sean Corfield
@seancorfield
[John Whish, cfml] Ah yeah, you say you are using loadListener. In that case - no idea. Sorry.
Sean Corfield
@seancorfield
[John Whish, cfml] mind you the lock in discoverBeans ends before it does the loadListener bit
Sean Corfield
@seancorfield
[jtreher, cfml] hmmmm, right, that could be the issue.
[jtreher, cfml] Maybe I'll try the aggressive locking to see how that goes.
Sean Corfield
@seancorfield
[jtreher, cfml] No dice, dang.
Sean Corfield
@seancorfield
[John Whish, cfml] Did you just extend the lock in discoverbeans?
[jtreher, cfml] I might have stumbled on to something here by using getDefaultBeanFactory() in setupRequest()
[jtreher, cfml] Instead of getBeanFactory()
[jtreher, cfml] And calling applicationStop()
Sean Corfield
@seancorfield
[jtreher, cfml] I cannot replicate the issue on local anymore using getDefaultBeanFactory() instead of getBeanFactory() everywhere in application.cfc that wants access to the "main beanfactory" unless I enable the reload on every request flag.
[jtreher, cfml] and, all of our addBean stuff now only happens on the main DI instance unlike when it used to happen for all of them in 3.0
[jtreher, cfml] Previously, each subsystem instance would have had the loadListener firing (something we maybe were taking advantage of?)
[Sean Corfield, cfml] That sounds related to subsystems still being initialized on demand when the first request for an action within it comes in.
[jtreher, cfml] I think so. And every request is in a subsystem now, right?
[Sean Corfield, cfml] No.
[jtreher, cfml] Dang
[Sean Corfield, cfml] You’re using “legacy subsystems” still?
[jtreher, cfml] Yes.
[jtreher, cfml] That only applies to the "new" then, eh?
Sean Corfield
@seancorfield
[Sean Corfield, cfml] The main app is not a subsystem in either case.
[Sean Corfield, cfml] The issue is just that subsystem initialization is on demand and thus could fall foul of thread safety issues if heavy load hits an uninitialized subsystem. The plan was to add an “eager initialization” option to the new subsystems stuff to get around that.
Sean Corfield
@seancorfield
[clockworkrebel, cfml] I'm using FW/1 with DI/1 and I'm trying to figure if the DI/1 methods mentioned in the "Overriding DI/1 Behavior" section of the documentation will be called for FW/1 controllers (particularly the construct method).
[clockworkrebel, cfml] The method doesn't seem to be called for me, but it's entirely possible I've just got something set up wrong.
[clockworkrebel, cfml] So I'm wondering if those methods are expected to be called (and therefore I should keep looking at what I screwed up) or if those methods wouldn't be called even if all my stuff was functioning at 100%
Sean Corfield
@seancorfield
[Sean Corfield, cfml] @clockworkrebel Do you have diLocations set in your FW/1 config?
[Sean Corfield, cfml] The default (if you omit it) is for FW/1 to let DI/1 manage both controllers and the model, but if you override that it and don't tell it to manage the controllers...
[Sean Corfield, cfml] Also, which version of FW/1 are you using?
Sean Corfield
@seancorfield
[clockworkrebel, cfml] I'm using the latest and greatest. I'll take a look at my Application.cfc tomorrow morning to see if I had it set. I think that's probably what I did
[clockworkrebel, cfml] Thank you for pointing me in the right direction on that
Sean Corfield
@seancorfield
[clockworkrebel, cfml] Well, turns out I did not have diLocations set, but for the time being I got it to work by explicitly setting diLocations. Perhaps it's because the controller classes in question are in a subsystem? I had to add the controller directory for the subsystem before it worked (which makes sense).
Sean Corfield
@seancorfield
[Sean Corfield, cfml] @clockworkrebel just to check: you have folders named controllers (plural) and model (singular) in both the top level and in each subsystem?
[clockworkrebel, cfml] Yep
[clockworkrebel, cfml] It seems that there's something strange going on with the bean factory in each subsystem. Or maybe it's that it's somehow using the parent bean factory
[clockworkrebel, cfml] I'm new to this framework and so my understanding of how this is supposed to work is probably not quite right
Sean Corfield
@seancorfield
[Sean Corfield, cfml] @jtreher I was looking over the handful of open issues in the FW/1 GitHub repo and noticed this which sounds a lot like your issue framework-one/fw1#423
Sean Corfield
@seancorfield
[Ross, cfml] I have a tricky situation here, where I have a bean that needs to access a bean in a subsystem
[Ross, cfml] what’s the approved method of accessing the subsystem bean within my other one?
[Ross, cfml] (the answer can be ’do what you’re doing in a service, if need be)
[Ross, cfml] the scenario is that I have a client bean where I’m calculating an ‘age class’, e.g. ‘18-25’, based on the client’s DOB
[Ross, cfml] the list of age classes are a list in my lookups table, so lookup bean
[Ross, cfml] (lookups is a subsystem)
Sean Corfield
@seancorfield
[John Whish, cfml] This is probably over simplifying it, but if a bean in your main application has a dependancy on a bean in the subsystem, then can't you move the subsystem bean to your main application as it's now a dependancy of the main application?
Sean Corfield
@seancorfield
[jtreher, cfml] I'm just reporting back that we have not been able to resolve our issues with reloading the application under load. We are currently reverting everything and are going to try to upgrade just DI/1 to see how it fares there to help isolate the issue. It totally seems related to the legacy subsystems.
[Ross, cfml] @aliaspooryorik no
[Ross, cfml] at least, that’s not an option in this instance
Sean Corfield
@seancorfield
[lramirez, cfml] While I don’t know the full circumstances I think making a service is the right call here.
Sean Corfield
@seancorfield
[Carl Von Stetten, cfml] @salted a service is probably the best solution. However, while frowned upon, you can access another subsystem's bean factory to get your bean. Do you have access to the framework from wherever you are trying to access your lookup bean?
[Ross, cfml] If I dip down to the application yes, but id rather not do that obviously
[Carl Von Stetten, cfml] Can you pass fw as a property into the "client" bean?
[Carl Von Stetten, cfml] Admittedly, this would feel really dirty, so the service approach would probably be better.