Re: Maven, two apps with direct connect SSL, one works
Re: Maven, two apps with direct connect SSL, one works
- Subject: Re: Maven, two apps with direct connect SSL, one works
- From: Ramsey Gurley <email@hidden>
- Date: Wed, 29 Jun 2016 14:01:05 -0700
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@hidden> 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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden