Some additional followup on this. I just discovered the difference that makes App1 work. ERR2D2W is still on the build path. I forgot to remove that framework when mavenizing App1. App2 had all woframework references removed from .classpath, and it does not work. If I remove ERR2D2W from .classpath on App1, it also returns sslEnabled() false.
And the most magical part is it seems just ERR2D2W that can do this. I tried ERXExtensions, ERCoreBL, and an internal framework to no effect. Which is a bit of a pain, because App2 uses ERDirectToWeb components and adding ERR2D2W to it breaks a few pages. But ssl starts working when I do... On Apr 6, 2016, at 5:59 PM, Ramsey Gurley <[email protected]> wrote: > Hi all, > > Weird problem. I have two apps. App1 works with SSL direct connect, in > eclipse with maven and without. App2 works with SSL direct connect without > maven. With maven, the SSL direct connect properties I have in Properties.dev > are not located. > > The reason that happens is in ERXApplication _addAdditionalAdaptors, > sslEnabled() is returning false. Properties.dev is the same for both, so I > start digging. Why is it false for App2? It turns out the properties are not > loaded, because in ERXApplication.Loader.mainBundle(), > ClassPath.get(NSBundle.class) turns out to be null and InitMainBundle isn’t > fired. > > Well, why is that? Because in NSBundle, at line 315 in a static initializer > block, a call to LoadBundlesFromJars ends up calling NSBundle.addBundle. This > fires a NSBundleDidLoadNotification which triggers the above behavior before > ClassPath is loaded at line 339 in that same static initializer block. > > In App1, *there is no observer* for this notification at L315. It makes it > all the way to NSBundle L341 where LoadBundlesFromClassPath is fired, which > then ends up firing the notification to a now existent observer. > > What’s really weird is at the last line of ERXApplication.Loader(String[]) > constructor, there’s a addObserver for the NSBundleDidLoadNotification. > Setting breakpoints, I can see that is done before NSBundle is referenced in > both App1 and App2. I see no place where removeObserver is ever called on the > application, so I’m totally puzzled. > > Does any of this sound familiar to anyone? > > In the non maven branch, I’m just starting to look, but the line numbers are > not lining up. It looks like the old build is finding NSBundle in > JavaFoundation while the Maven build finds it in ERFoundation. > > Thanks, > > Ramsey _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
