Changeset 813a198 for apps/jetty


Ignore:
Timestamp:
Apr 24, 2013 3:45:15 PM (7 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
85f3f56
Parents:
57fd46d
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/jetty/java/src/net/i2p/jetty/JettyStart.java

    r57fd46d r813a198  
    4242public class JettyStart implements ClientApp {
    4343
    44     private final I2PAppContext _context;
    4544    private final ClientAppManager _mgr;
    4645    private final String[] _args;
     
    5150     *  All args must be XML file names.
    5251     *  Does not support any of the other argument types from org.mortbay.start.Main.
     52     *
     53     *  @param context unused, may be null
     54     *  @param mgr may be null e.g. for use in plugins
    5355     */
    5456    public JettyStart(I2PAppContext context, ClientAppManager mgr, String[] args) throws Exception {
    5557        _state = UNINITIALIZED;
    56         _context = context;
    5758        _mgr = mgr;
    5859        _args = args;
     
    101102        public Starter() {
    102103            super("JettyStarter");
     104            changeState(STARTING);
    103105        }
    104106
     
    107109         */
    108110        public void run() {
    109             changeState(STARTING);
    110111            for (LifeCycle lc : _jettys) {
    111112                if (!lc.isRunning()) {
     
    119120            }
    120121            changeState(RUNNING);
    121             _mgr.register(JettyStart.this);
     122            if (_mgr != null)
     123                _mgr.register(JettyStart.this);
    122124        }
    123125    }
    124126
    125     public void shutdown(String[] args) {
     127    public synchronized void shutdown(String[] args) {
    126128        if (_state != RUNNING)
    127129            return;
     
    136138        public Stopper() {
    137139            super("JettyStopper");
     140            changeState(STOPPING);
    138141        }
    139142
    140143        public void run() {
    141             changeState(STOPPING);
    142144            for (LifeCycle lc : _jettys) {
    143145                if (lc.isRunning()) {
     
    171173    private synchronized void changeState(ClientAppState state, Exception e) {
    172174        _state = state;
    173         _mgr.notify(this, state, null, e);
     175        if (_mgr != null)
     176            _mgr.notify(this, state, null, e);
     177    }
     178
     179    /**
     180     *  For use in a plugin clients.config
     181     *  @param args passed to constructor
     182     *  @since 0.9.6
     183     */
     184    public static void main(String[] args) {
     185        try {
     186            new JettyStart(null, null, args);
     187        } catch (RuntimeException e) {
     188            throw e;
     189        } catch (Exception e) {
     190            throw new RuntimeException(e);
     191        }
    174192    }
    175193}
Note: See TracChangeset for help on using the changeset viewer.