NullPointerException stops Scheduler?

I’m presently developing a B2B Service that notifies our business partners via email and fax of events for which they need to be involved.

This service is designed in the following way:

  1. The scheduler starts a Java Service that contains an exception handler (throws ServiceExceptions no matter what is caught) which simply invokes a Flow service.
  2. The Flow service manages an Oracle database connection using the Flow exception handling mechanism, and queries a table to determine what needs to be sent & sends it.

What seems to be happening is this:

  • The scheduler starts & the service starts executing (Simple Interval Repeating Task w/ Repeat from end of invocation set).
  • Some time during processing a NullPointerException is generated by an ExecSQL service (any ideas why on this too?), and the exception is thrown all the way out to the managing Java service.
  • Unfortunately, what then happens is bizarre; the scheduler & Service Usage display, all act as if the service is still running which prevents the job from running again until the server is restarted.

So, two questions:

  1. Why does the server think the service is still running?
  2. Is there any way to kill a specific thread/service that is executing without bringing down the entire server?

Thanks in advance for any assistance you can provide!

I have a similar issue in regards to a NullPointerException error being thrown.