Changeset 4265


Ignore:
Timestamp:
May 5, 2008, 9:37:08 AM (15 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #1001: Plug-ins that use the 'execute immediately' option can't be aborted

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/core/InternalJobQueue.java

    r4098 r4265  
    2626
    2727import net.sf.basedb.core.plugin.Response;
     28import net.sf.basedb.core.signal.LocalSignalReceiver;
    2829import net.sf.basedb.core.signal.SignalReceiver;
    2930import net.sf.basedb.core.data.JobData;
     
    156157  @base.modified $Date$
    157158*/
    158 final class InternalJobQueue
     159public final class InternalJobQueue
    159160  extends TimerTask
    160161{
     
    214215  private static SignalReceiver signalReceiver;
    215216
     217  /**
     218    Get the signal receiver used by the internal job queue. If the
     219    internal job queue is disabled a {@link LocalSignalReceiver}
     220    is created on the first call to this method.
     221    @return A signal receiver object
     222    @since 2.7
     223  */
     224  public synchronized static SignalReceiver getSignalReceiver()
     225  {
     226    if (signalReceiver == null)
     227    {
     228      signalReceiver = new LocalSignalReceiver();
     229      signalReceiver.init("localhost:0");
     230    }
     231    return signalReceiver;
     232  }
     233 
    216234  /**
    217235    Create the job queue. The one and only instance is created
  • trunk/www/common/plugin/index.jsp

    r4254 r4265  
    1 <%@page import="net.sf.basedb.core.Experiment"%>
    21<%-- $Id$
    32  ------------------------------------------------------------------
     
    5352  import="net.sf.basedb.core.Job"
    5453  import="net.sf.basedb.core.Type"
     54  import="net.sf.basedb.core.Experiment"
     55  import="net.sf.basedb.core.InternalJobQueue"
    5556  import="net.sf.basedb.core.BaseException"
    5657  import="net.sf.basedb.core.PermissionDeniedException"
     
    534535    {
    535536      PluginExecutionRequest executionRequest = pluginResponse.getExecutionRequest(null);
     537      executionRequest.registerSignalReceiver(InternalJobQueue.getSignalReceiver());
    536538      Thread t = new Thread(executionRequest);
    537539      t.setPriority(Thread.currentThread().getPriority() - 1);
Note: See TracChangeset for help on using the changeset viewer.