01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.deployment.scanner;
23:
24: /**
25: * MBean interface.
26: */
27: public interface DeploymentScannerMBean extends
28: org.jboss.system.ServiceMBean {
29:
30: /**
31: * The ObjectName of the {@link Deployer} which we will use.
32: * @param deployerName The object name of the deployer to use.
33: */
34: void setDeployer(javax.management.ObjectName deployerName);
35:
36: /**
37: * Get the ObjectName of the {@link Deployer} which we are using.
38: * @return The object name of the deployer we are using.
39: */
40: javax.management.ObjectName getDeployer();
41:
42: /**
43: * Set the scan period for the scanner.
44: * @param period This is the time in milliseconds between scans.
45: * @throws IllegalArgumentException Period value out of range.
46: */
47: void setScanPeriod(long period);
48:
49: /**
50: * Disable or enable the period based deployment scanning. <p>Manual scanning can still be performed by calling {@link #scan}.
51: * @param flag True to enable or false to disable period based scanning.
52: */
53: void setScanEnabled(boolean flag);
54:
55: /**
56: * Check if period based scanning is enabled.
57: * @return True if enabled, false if disabled.
58: */
59: boolean isScanEnabled();
60:
61: /**
62: * How long to wait in stop for the background thread to stop
63: *
64: * @return the time in milliseconds.
65: */
66: long getStopTimeOut();
67:
68: /**
69: * How long to wait in stop for the background thread to stop
70: *
71: * @param stopTimeOut the time in milliseconds.
72: */
73: void setStopTimeOut(long stopTimeOut);
74:
75: /**
76: * Scan for deployment changes.
77: * @throws IllegalStateException Not initialized.
78: * @throws Exception Scan failed.
79: */
80: void scan() throws java.lang.Exception;
81:
82: }
|