Sure thing Ken. I basically just fire off a ERXTimerTask from the static initialization of a principal class. I throw in a 30 second delay to make sure the app is completely launched as I don't understand the ins and outs of when principal classes are loaded.

public class PrincipalClass {
    private static Logger LOG = Logger.getLogger(PrincipalClass.class);

    static {
        SomeTask.start();
    }

}

public class SomeTask extends ERXTimerTask {
    private static Logger LOG = Logger.getLogger(SomeTask.class);

    // static
    public static void start() {
        try {
            SomeTask task = new SomeTask();
            Timer timer = new Timer(true);
            timer.schedule(task, 30000);
        }
        catch (Exception e) {
            LOG.error("unable to start task", e);
        }
    }

    @Override
    public void _run() {
        // do whatever here
    }

}

It's ugly but it works. I'd be interested in hearing about other (better) solutions myself.

Jon

On 5/6/10 7:56 AM, [email protected] wrote:
Jon,

Thanks.  It might be a red herring, but our entire startup happens in the 
target method of that notification, so it's a mighty big issue for us.  Yes, I 
*would* be very interested in your hack, even if it's just to understand the 
problem better.

Thanks!
Ken

-----Original Message-----
From: "Jon Nolan"<[email protected]>
Sent: Thursday, May 6, 2010 9:49am
To: [email protected]
Subject: Re: Switch from 5.3.3 to 5.4.3 breaks tomcat deployment

I think he's saying ApplicationDidFinishInitializationNotification not
being posted is a known bug.  NSNotification(Center) stuff works, just
not this one.  Something to do with having to use JavaWOJSPServlet I
believe although I'm not certain.  My workaround is an embarrassing hack
so I'd rather not share it unless you're really interested.  ;-)

I'm not sure exactly why you're having troubles but 5.4 deployment under
tomcat (I never did deploy 5.3) is an exercise is patience.  One thing
after another.  It does work though.  Don't worry about
appDidFinishLaunching() not being called.  That's a red herring in this
case.//


On 5/6/10 3:56 AM, Ken Anderson wrote:
Are you saying I just can't deploy 5.4.3 with Tomcat ?  There's no workaround ?


On May 5, 2010, at 11:08 PM, Ramsey Lee Gurley wrote:


On May 5, 2010, at 10:42 PM, Ken Anderson wrote:

All,

We're in the midst of converting some WO apps from 5.3.3 to 5.4.3.  Everything 
works well in Eclipse, but when we deploy to tomcat 5.5 via a .war file, the 
app basically does nothing.  Remote debugging shows that the Application 
constructor gets called, but the notification center never fires the 
appDidFinishLaunching event.

We're using Java 1.6 if that matters...  Any thoughts?

Thanks!
Ken

Known issue if I'm not mistaken...

Begin forwarded message:

Date: October 23, 2008 5:13:02 PM EDT
To: Apple WO-Dev<[email protected]>
Subject: Wonder App doesn't receive     
"ApplicationDidFinishLaunchingNotification" notification when deployed as a 
servlet

I was banging my head on this, so I thought I would share it with the group:

Our Wonder App doesn't receive "ApplicationDidFinishLaunchingNotification" 
notification when deployed as a servlet, this results in ERXRemoteSynchronizer not being 
started when initialized using ERXObjectStoreCoordinatorSynchronizer.initialize(); since 
initialization depends on that notification being received (Line 87 in 
ERXObjectStoreCoordinatorSynchronizer.java):

NSNotificationCenter.defaultCenter().addObserver(this, new 
NSSelector("startRemoteSynchronizer", ERXConstant.NotificationClassArray), 
WOApplication.ApplicationDidFinishLaunchingNotification, null);

You can bypass that by doing this instead
ERXObjectStoreCoordinatorSynchronizer.synchronizer().initializeRemoteSynchronizer();

As a confirmation I also overrode didFinishLaunching() from ERXApplication and 
that doesn't get called either when deployed as a servlet...

Thanks,

Saad



   _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40lochgarman.com

This email sent to [email protected]


  _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/kenlists%40anderhome.com

This email sent to [email protected]




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to