Exemple #1
0
  public SampleAgent(Map args) {
    configFile = (String) ((List) args.get("c")).get(0);
    bootCounterFile = new File((String) ((List) args.get("bc")).get(0));

    server = new DefaultMOServer();
    MOServer[] moServers = new MOServer[] {server};
    InputStream configInputStream =
        SampleAgent.class.getResourceAsStream("SampleAgentConfig.properties");
    if (args.containsKey("cfg")) {
      try {
        configInputStream = new FileInputStream((String) ArgumentParser.getValue(args, "cfg", 0));
      } catch (FileNotFoundException ex1) {
        ex1.printStackTrace();
      }
    }
    final Properties props = new Properties();
    try {
      props.load(configInputStream);
    } catch (IOException ex) {
      ex.printStackTrace();
    }
    MOInputFactory configurationFactory =
        new MOInputFactory() {
          public MOInput createMOInput() {
            return new PropertyMOInput(props, SampleAgent.this);
          }
        };
    InputStream tableSizeLimitsInputStream =
        SampleAgent.class.getResourceAsStream("SampleAgentTableSizeLimits.properties");
    if (args.containsKey("ts")) {
      try {
        tableSizeLimitsInputStream =
            new FileInputStream((String) ArgumentParser.getValue(args, "ts", 0));
      } catch (FileNotFoundException ex1) {
        ex1.printStackTrace();
      }
    }
    tableSizeLimits = new Properties();
    try {
      tableSizeLimits.load(tableSizeLimitsInputStream);
    } catch (IOException ex) {
      ex.printStackTrace();
    }
    MessageDispatcher messageDispatcher = new MessageDispatcherImpl();
    addListenAddresses(messageDispatcher, (List) args.get("address"));
    agent =
        new AgentConfigManager(
            new OctetString(MPv3.createLocalEngineID()),
            messageDispatcher,
            null,
            moServers,
            ThreadPool.create("SampleAgent", 3),
            configurationFactory,
            new DefaultMOPersistenceProvider(moServers, configFile),
            new EngineBootsCounterFile(bootCounterFile));
  }