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]

Reply via email to