Quero ver quem sabe essa

1 resposta
D

Pessoal, estou desenvolvendo um projeto em Agentes Móveis usando o Aglets. Preciso criar meu próprio servidor que fique independente do framework Tahiti. :frowning:

Peguei diversos códigos, mais a maioria dá erro. Fiz os devidos ajustes de Contexto, configuração do properties, e as devidas configurações dos arquivos security, keystore e props tanto do java quanto do aglets. A segurança do java esta com a propriedade AllPermission ativada. :?

Mesmo assim dá o seguinte erro:

java.security.AccessControlException: access denied (com.ibm.aglets.security.ContextPermission context start)
 	at java.security.AccessControlContext.checkPermission(Unknown Source)
 	at java.security.AccessController.checkPermission(Unknown Source)
 	at com.ibm.aglets.AgletContextImpl.checkPermission(Unknown Source)
 	at com.ibm.aglets.AgletContextImpl.start(Unknown Source)
 	at com.ibm.aglets.AgletContextImpl.start(Unknown Source)
 	at ssdetect.agent.AgentFramework.tahitiInit(AgentFramework.java:95)
 	at ssdetect.agent.AgentFramework.bootstrap(AgentFramework.java:158)
 	at ssdetect.agent.AgentFramework.<init>(AgentFramework.java:142)
 	at ssdetect.agent.AgentFramework.main(AgentFramework.java:165)

Alguem já fez algo semelhante? Sabe me dizer o que devo fazer ou setar para solucionar o problema?

Segue abaico o código do nosso servidor.

import java.io.IOException;
import java.net.*;
 import java.util.*;
 import com.ibm.aglet.*;
import com.ibm.aglet.security.Protections;
import com.ibm.aglet.system.ContextEvent;
 import com.ibm.aglets.* ;
import com.ibm.aglets.security.AgletPermission;
import com.ibm.aglets.security.ContextPermission;
 import com.ibm.aglets.tahiti.*;
import com.ibm.maf.*;

 public class ArenaSRVAglets{
  com.ibm.aglet.system.AgletRuntime runtime;
  private String username;
  private String password;
  private String port;
  private String keystore;
  private String policy; 
  AgletContext context;
  MAFAgentSystem maf_system;
  Properties props;

  public ArenaSRVAglets(String args[]){
   try{
    username = "aglet_key";//args[2];
    password = "aglets";//args[3];
    port  = "4434";//args[4];
    keystore = "C:/aglets/bin/.keystore";//args[0]; 
    policy  = "c:/aglets/security/aglets.policy";//args[1];
    
   }catch(Exception ex){
    ex.printStackTrace();
   }

  }
  
  public void setup(){
   props = System.getProperties();
   //Setup das propriedades 
   props.put("atp.resolve","true");
   props.put("atp.useip","true");
   props.put("maf.port",port);
   props.put("maf.protocol","atp");
   props.put("java.policy",policy);
   props.put("aglets.keystore.file",keystore);
   props.put("maf.finder.port","4435");
   props.put("maf.finder.host","localhost"); 
   props.put("maf.finder.name","MAFFinder");
   props.put("aglets.logger.class",
   "org.aglets.log.console.ConsoleInitializer");
    props.put("aglets.logfile","aglets.log");
   String initializerName = System.getProperty("aglets.logger.class",
   "org.aglets.log.console.ConsoleInitializer");
   System.setProperties (props);
   try {
    Class.forName(initializerName);
   } catch (ClassNotFoundException ex) {
    ex.printStackTrace();
   }
  }

  public void start() throws IOException, AgletException, ClassNotFoundException, InstantiationException {
   this.setup();
   runtime = runtime.init(null);
   runtime.authenticateOwner(username, password);
   maf_system = new MAFAgentSystem_AgletsImpl(runtime);
   
   String protocol = "atp";
   try {
    MAFAgentSystem.initMAFAgentSystem(maf_system, protocol);
    // Usando o Thaiti para iniciar as classes 
    
    Tahiti.installFactories();
    Tahiti.installSecurity();
    // Criando o contexto
    context = runtime.createAgletContext("agente");
    MAFAgentSystem.startMAFAgentSystem(maf_system, protocol); 

    context.start(); // É aqui que dá "PAU"

   } catch (MAFExtendedException ex) {
    ex.printStackTrace();

   }
  }

  public static void main(String[] args) throws IOException,      AgletException, ClassNotFoundException, InstantiationException {
   ArenaSRVAglets simple = new ArenaSRVAglets(args);
   simple.start();
  }
 }

1 Resposta

C

Oi, tb preciso fazer uma aplicação pra aglets sem o tahiti, vc conseguiu fazer? tens como me dá uma ajuda?Agradeço!

Criado 29 de abril de 2006
Ultima resposta 10 de dez. de 2007
Respostas 1
Participantes 2