亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? heritrix.java

?? 高性能分詞算法
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
    }        private final static String START_OPER = "start";    private final static String STOP_OPER = "stop";    private final static String DESTROY_OPER = "destroy";    private final static String INTERRUPT_OPER = "interrupt";    private final static String START_CRAWLING_OPER = "startCrawling";    private final static String STOP_CRAWLING_OPER = "stopCrawling";    private final static String ADD_CRAWL_JOB_OPER = "addJob";    private final static String TERMINATE_CRAWL_JOB_OPER =        "terminateCurrentJob";    private final static String DELETE_CRAWL_JOB_OPER = "deleteJob";    private final static String ALERT_OPER = "alert";    private final static String ADD_CRAWL_JOB_BASEDON_OPER = "addJobBasedon";    private final static String PENDING_JOBS_OPER = "pendingJobs";    private final static String COMPLETED_JOBS_OPER = "completedJobs";    private final static String CRAWLEND_REPORT_OPER = "crawlendReport";    private final static String SHUTDOWN_OPER = "shutdown";    private final static String LOG_OPER = "log";    private final static String REBIND_JNDI_OPER = "rebindJNDI";    private final static List OPERATION_LIST;    static {        OPERATION_LIST = Arrays.asList(new String [] {START_OPER, STOP_OPER,            INTERRUPT_OPER, START_CRAWLING_OPER, STOP_CRAWLING_OPER,            ADD_CRAWL_JOB_OPER, ADD_CRAWL_JOB_BASEDON_OPER,            DELETE_CRAWL_JOB_OPER, ALERT_OPER, PENDING_JOBS_OPER,            COMPLETED_JOBS_OPER, CRAWLEND_REPORT_OPER, SHUTDOWN_OPER,            LOG_OPER, DESTROY_OPER, TERMINATE_CRAWL_JOB_OPER,            REBIND_JNDI_OPER});    }    private CompositeType jobCompositeType = null;    private TabularType jobsTabularType = null;    private static final String [] JOB_KEYS =        new String [] {"uid", "name", "status"};    private static String adminUsername;    private static String adminPassword;        /**     * Constructor.     * Does not register the created instance with JMX.  Assumed this     * constructor is used by such as JMX agent creating an instance of     * Heritrix at the commmand of a remote client (In this case Heritrix will     * be registered by the invoking agent).     * @throws IOException     */    public Heritrix() throws IOException {        this(null, false);    }        public Heritrix(final boolean jmxregister) throws IOException {        this(null, jmxregister);    }        /**     * Constructor.     * @param name If null, we bring up the default Heritrix instance.     * @param jmxregister True if we are to register this instance with JMX     * agent.     * @throws IOException     */    public Heritrix(final String name, final boolean jmxregister)    throws IOException {        this(name, jmxregister, new CrawlJobHandler(getJobsdir()));    }        /**     * Constructor.     * @param name If null, we bring up the default Heritrix instance.     * @param jmxregister True if we are to register this instance with JMX     * agent.     * @param cjh CrawlJobHandler to use.     * @throws IOException     */    public Heritrix(final String name, final boolean jmxregister,            final CrawlJobHandler cjh)    throws IOException {        super();        containerInitialization();        this.jobHandler = cjh;        this.openMBeanInfo = buildMBeanInfo();        // Set up the alerting system.  SinkHandler is also a global so will        // catch alerts for all running Heritrix instances.  Will need to        // address (Add name of instance that threw the alert to SinkRecord?).        final SinkHandler sinkHandler = SinkHandler.getInstance();        if (sinkHandler == null) {            throw new NullPointerException("SinkHandler not found.");        }        // Adapt the alerting system to use SinkHandler.        this.alertManager = new AlertManager() {            public void add(SinkHandlerLogRecord record) {                sinkHandler.publish(record);            }            public Vector getAll() {                return sinkHandler.getAll();            }            public Vector getNewAll() {                return sinkHandler.getAllUnread();            }            public SinkHandlerLogRecord get(String alertID) {                return sinkHandler.get(Long.parseLong(alertID));            }                        public int getCount() {                return sinkHandler.getCount();            }            public int getNewCount() {                return sinkHandler.getUnreadCount();            }            public void remove(String alertID) {                sinkHandler.remove(Long.parseLong(alertID));            }            public void read(String alertID) {                sinkHandler.read(Long.parseLong(alertID));            }        };                try {            Heritrix.registerHeritrix(this, name, jmxregister);        } catch (InstanceAlreadyExistsException e) {            throw new RuntimeException(e);        } catch (MBeanRegistrationException e) {            throw new RuntimeException(e);        } catch (NotCompliantMBeanException e) {            throw new RuntimeException(e);        } catch (MalformedObjectNameException e) {            throw new RuntimeException(e);        }    }        /**     * Run setup tasks for this 'container'. Idempotent.     *      * @throws IOException     */    protected static void containerInitialization() throws IOException {        if (Heritrix.containerInitialized) {            return;        }        Heritrix.containerInitialized = true;        // Load up the properties.  This invocation adds heritrix properties        // to system properties so all available via System.getProperty.        // Note, loadProperties and patchLogging have global effects.  May be an        // issue if we're running inside a container such as tomcat or jboss.        Heritrix.loadProperties();        Heritrix.patchLogging();        Heritrix.configureTrustStore();        // Will run on SIGTERM but not on SIGKILL, unfortunately.        // Otherwise, ensures we cleanup after ourselves (Deregister from        // JMX and JNDI).        Runtime.getRuntime().addShutdownHook(            Heritrix.getShutdownThread(false, 0, "Heritrix shutdown hook"));        // Register this heritrix 'container' though we may be inside another        // tomcat or jboss container.        try {            registerContainerJndi();        } catch (Exception e) {            logger.log(Level.WARNING, "Failed jndi container registration.", e);        }    }        /**     * Do inverse of construction. Used by anyone who does a 'new Heritrix' when     * they want to cleanup the instance.     * Of note, there may be Heritrix threads still hanging around after the     * call to destroy completes.  They'll eventually go down after they've     * finished their cleanup routines.  In particular, if you are watching     * Heritrix via JMX, you can see the Heritrix instance JMX bean unregister     * ahead of the CrawlJob JMX bean that its hosting.     */    public void destroy() {        stop();        try {            Heritrix.unregisterHeritrix(this);        } catch (InstanceNotFoundException e) {            e.printStackTrace();        } catch (MBeanRegistrationException e) {            e.printStackTrace();        } catch (NullPointerException e) {            e.printStackTrace();        }        this.jobHandler = null;        this.openMBeanInfo = null;    }        /**     * Launch program.     * Optionally will launch a web server to host UI.  Will also register     * Heritrix MBean with first found JMX Agent (Usually the 1.5.0 JVM     * Agent).     *      * @param args Command line arguments.     * @throws Exception     */    public static void main(String[] args)    throws Exception {        Heritrix.commandLine = true;                // Set timezone here.  Would be problematic doing it if we're running        // inside in a container.        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));                File startLog = new File(getHeritrixHome(), STARTLOG);        Heritrix.out = new PrintWriter(isDevelopment()?             System.out: new PrintStream(new FileOutputStream(startLog)));                try {            containerInitialization();            String status = doCmdLineArgs(args);            if (status != null) {                Heritrix.out.println(status);            }        }        catch(Exception e) {            // Show any exceptions in STARTLOG.            e.printStackTrace(Heritrix.out);            throw e;        }        finally {            // If not development, close the file that signals the wrapper            // script that we've started.  Otherwise, just flush it; if in            // development, the output is probably a console.            if (!isDevelopment()) {                if (Heritrix.out != null) {                    Heritrix.out.close();                }                System.out.println("Heritrix version: " +                        Heritrix.getVersion());            } else {                if (Heritrix.out != null) {                    Heritrix.out.flush();                }            }        }    }        protected static String doCmdLineArgs(final String [] args)    throws Exception {        // Get defaults for commandline arguments from the properties file.        String tmpStr = PropertyUtils.            getPropertyOrNull("heritrix.context");        if (tmpStr != null)  {            Heritrix.adminContext = tmpStr;        }        tmpStr = PropertyUtils.getPropertyOrNull("heritrix.cmdline.port");        if (tmpStr != null) {            Heritrix.guiPort = Integer.parseInt(tmpStr);        }        tmpStr = PropertyUtils.getPropertyOrNull("heritrix.cmdline.admin");        String adminLoginPassword = (tmpStr == null)? "": tmpStr;        String crawlOrderFile =            PropertyUtils.getPropertyOrNull("heritrix.cmdline.order");        tmpStr = PropertyUtils.getPropertyOrNull("heritrix.cmdline.run");        boolean runMode =            PropertyUtils.getBooleanProperty("heritrix.cmdline.run");        boolean selfTest = false;        String selfTestName = null;        CommandLineParser clp = new CommandLineParser(args, Heritrix.out,            Heritrix.getVersion());        List arguments = clp.getCommandLineArguments();        Option [] options = clp.getCommandLineOptions();        // Check passed argument.  Only one argument, the ORDER_FILE is allowed.        // If one argument, make sure exists and xml suffix.        if (arguments.size() > 1) {            clp.usage(1);        } else if (arguments.size() == 1) {            crawlOrderFile = (String)arguments.get(0);            if (!(new File(crawlOrderFile).exists())) {                clp.usage("ORDER.XML <" + crawlOrderFile +                    "> specified does not exist.", 1);            }            // Must end with '.xml'            if (crawlOrderFile.length() > 4 &&                    !crawlOrderFile.substring(crawlOrderFile.length() - 4).                        equalsIgnoreCase(".xml")) {                clp.usage("ORDER.XML <" + crawlOrderFile +                    "> does not have required '.xml' suffix.", 1);            }        }        // Now look at options passed.        for (int i = 0; i < options.length; i++) {            switch(options[i].getId()) {                case 'h':                    clp.usage();                    break;                case 'a':                    adminLoginPassword = options[i].getValue();                    break;                case 'n':                    if (crawlOrderFile == null) {                        clp.usage("You must specify an ORDER_FILE with" +                            " '--nowui' option.", 1);                    }                    Heritrix.gui = false;                    break;                                case 'b':                    Heritrix.guiHosts = parseHosts(options[i].getValue());                    break;                case 'p':                    try {                        Heritrix.guiPort =                            Integer.parseInt(options[i].getValue());                    } catch (NumberFormatException e) {                        clp.usage("Failed parse of port number: " +                            options[i].getValue(), 1);                    }                    if (Heritrix.guiPort <= 0) {                        clp.usage("Nonsensical port number: " +                            options[i].getValue(), 1);                    }                    break;                case 'r':                    runMode = true;                    break;                case 's':                    selfTestName = options[i].getValue();                    selfTest = true;                    break;                default:                    assert false: options[i].getId();            }        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
风间由美一区二区av101| 国产欧美一区二区精品婷婷| 久久久久国产精品麻豆ai换脸| 《视频一区视频二区| 久久精品久久99精品久久| 成人av在线资源网站| 欧美一级片在线| 亚洲欧美日韩成人高清在线一区| 日本欧美韩国一区三区| 色天使色偷偷av一区二区| 欧美国产综合一区二区| 精久久久久久久久久久| 欧美精品 日韩| 亚洲在线中文字幕| 91免费看视频| 中文一区二区在线观看| 国产精品一区二区视频| 精品国产乱码久久| 五月激情六月综合| 在线免费观看日本一区| 日韩一区在线播放| www.色精品| 国产精品久久影院| 成人午夜免费av| 国产精品福利一区二区三区| 高清国产一区二区| 亚洲国产成人私人影院tom| 国产专区欧美精品| 国产区在线观看成人精品| 国产一区二区按摩在线观看| 亚洲精品一区二区三区蜜桃下载| 蜜臀久久久99精品久久久久久| 欧美吞精做爰啪啪高潮| 亚洲一区二区av电影| 精品视频一区二区三区免费| 亚洲成人免费观看| 3d动漫精品啪啪| 六月丁香婷婷色狠狠久久| 日韩视频一区二区三区在线播放| 水蜜桃久久夜色精品一区的特点| 69p69国产精品| 精品一区二区综合| 中文字幕欧美三区| 色欧美片视频在线观看在线视频| 亚洲三级在线观看| 欧美日韩一区二区三区在线| 婷婷中文字幕综合| 91精品国产免费| 国产精品99久久久久久有的能看| 国产精品私人自拍| 色诱亚洲精品久久久久久| 亚洲综合成人网| 日韩精品一区二区三区在线观看| 国产一区二区电影| 亚洲人成亚洲人成在线观看图片| 欧美日韩高清在线| 久久国产尿小便嘘嘘尿| 中文字幕在线观看不卡| 欧美性色aⅴ视频一区日韩精品| 丝袜美腿亚洲色图| 国产精品毛片久久久久久| 欧美在线视频日韩| 麻豆国产精品官网| 国产精品久久久久三级| 91超碰这里只有精品国产| 国产盗摄一区二区| 午夜在线电影亚洲一区| 久久精品欧美日韩精品| 欧美视频在线观看一区| 国产美女主播视频一区| 亚洲电影一区二区| 久久精品欧美一区二区三区不卡 | 亚洲欧美成人一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 91一区二区三区在线播放| 国产精品久久久久久久久免费桃花 | 中日韩av电影| 久久国产视频网| 亚洲日本在线a| 精品日韩欧美一区二区| 欧美影视一区二区三区| 国产成人av电影在线观看| 午夜精品久久久久久久久久久| 国产欧美一区二区三区网站| 欧美日韩的一区二区| 国产 日韩 欧美大片| 久久激五月天综合精品| 亚洲一级二级三级| 国产精品电影一区二区三区| 精品91自产拍在线观看一区| 欧美精品tushy高清| 在线观看91视频| 一道本成人在线| 成人激情视频网站| 国产精品主播直播| 精品写真视频在线观看| 日本成人在线看| 午夜精品爽啪视频| 中文字幕日本不卡| 国产精品日韩精品欧美在线| ww久久中文字幕| 日韩免费看的电影| 91精品国产色综合久久ai换脸| 欧美日韩一区二区在线观看| 在线观看www91| 一本大道综合伊人精品热热 | 国产精品1024久久| 久久狠狠亚洲综合| 九九精品一区二区| 精品中文字幕一区二区| 麻豆精品一区二区| 韩国v欧美v日本v亚洲v| 国产美女在线精品| 国产精品18久久久久| 国产乱子伦视频一区二区三区| 国产揄拍国内精品对白| 韩日av一区二区| 国产精品综合在线视频| 高潮精品一区videoshd| 不卡一卡二卡三乱码免费网站| 成人中文字幕电影| a亚洲天堂av| 色94色欧美sute亚洲线路一ni | 色综合婷婷久久| 在线观看日韩电影| 777xxx欧美| 久久综合色综合88| 国产精品久久久久桃色tv| 亚洲欧美在线视频观看| 亚洲第一精品在线| 国产在线视频一区二区| 丁香一区二区三区| 色一情一乱一乱一91av| 在线成人av网站| 久久久久久一二三区| 中文字幕一区二区三区视频| 亚洲激情六月丁香| 免费观看成人av| 99这里只有久久精品视频| 欧美日韩三级在线| 26uuu精品一区二区三区四区在线| 中文字幕精品一区二区精品绿巨人 | 欧美理论在线播放| 精品久久国产字幕高潮| 专区另类欧美日韩| 亚洲成人动漫一区| 成人自拍视频在线| 欧美一区二区三区免费观看视频| 国产亚洲女人久久久久毛片| 亚洲亚洲精品在线观看| 国产成人午夜精品影院观看视频 | 欧美午夜一区二区三区| 欧美日韩一区二区在线观看视频| 欧美一级久久久| 国产欧美精品日韩区二区麻豆天美| 亚洲色图都市小说| 免费成人av在线播放| av在线不卡电影| 91精品国产综合久久婷婷香蕉| 国产午夜亚洲精品午夜鲁丝片| 亚洲国产精品尤物yw在线观看| 韩国欧美国产一区| 欧美喷潮久久久xxxxx| 亚洲欧洲精品一区二区精品久久久| 午夜精品久久久久久久久久久| www.欧美日韩| 久久综合色8888| 秋霞影院一区二区| 欧美综合色免费| 亚洲日本成人在线观看| 国产一区二区三区在线观看精品| 欧美色涩在线第一页| 18欧美亚洲精品| 岛国精品在线观看| 久久久欧美精品sm网站| 99久久综合国产精品| 日本高清不卡视频| 国产精品免费久久| 国产一区二区剧情av在线| 91精品综合久久久久久| 又紧又大又爽精品一区二区| 成人综合婷婷国产精品久久蜜臀| 精品久久久久久久久久久久包黑料| 亚洲在线视频网站| 在线免费不卡电影| 日韩理论在线观看| 成人h动漫精品一区二| 久久久久国产精品厨房| 国产一区二区不卡在线| 欧美大片一区二区三区| 免费视频最近日韩| 51精品久久久久久久蜜臀| 天使萌一区二区三区免费观看| 在线免费观看日本一区| 亚洲一区中文在线| 色呦呦日韩精品| 亚洲资源中文字幕| 欧美亚洲一区二区在线观看| 一区二区三区在线观看国产| 色女孩综合影院|