当前位置: 首页>>代码示例>>Java>>正文


Java AgentContainer.acceptNewAgent方法代码示例

本文整理汇总了Java中jade.wrapper.AgentContainer.acceptNewAgent方法的典型用法代码示例。如果您正苦于以下问题:Java AgentContainer.acceptNewAgent方法的具体用法?Java AgentContainer.acceptNewAgent怎么用?Java AgentContainer.acceptNewAgent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jade.wrapper.AgentContainer的用法示例。


在下文中一共展示了AgentContainer.acceptNewAgent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: agentTest

import jade.wrapper.AgentContainer; //导入方法依赖的package包/类
@Test
public void agentTest() throws Exception
{
	final AgentContainer container = getContainer();
	final String agName = "MyTestAgent";
	final MySemanticAgent agObject = new MySemanticAgent();
	LOG.trace("Adding new agent: " + agName + "...");
	container.acceptNewAgent(agName, agObject);

	while (agObject.getAgentState().getValue() != Agent.AP_DELETED)
	{
		LOG.trace("Waiting for " + agName + " (state: "
				+ agObject.getAgentState() + ") to be killed via GUI...");
		try
		{
			Thread.sleep(1000);
		} catch (final InterruptedException ignore)
		{
			//
		}
	}
	
	container.kill();
}
 
开发者ID:krevelen,项目名称:coala,代码行数:25,代码来源:TestSemanticAgent.java

示例2: startAgent

import jade.wrapper.AgentContainer; //导入方法依赖的package包/类
/**
 * Starts an agent as specified
 *
 * @param agentName the agent name
 * @param agentClass the class of the agent
 * @param startArguments the start arguments for the agent
 * @param inContainer the container name
 */
public void startAgent(String agentName, Class<? extends Agent> agentClass, Object[] startArguments, String inContainer) {
	
	// --- Was the system already started? ----------------------
	if (this.isMainContainerRunning()==false) {
		String msgHead = Language.translate("JADE wurde noch nicht gestartet!");
		String msgText = Language.translate("Möchten Sie JADE nun starten und fortfahren?");
		int msgAnswer = JOptionPane.showInternalConfirmDialog( Application.getMainWindow().getContentPane(), msgText, msgHead, JOptionPane.YES_NO_OPTION);
		if (msgAnswer==JOptionPane.NO_OPTION) return; // --- NO,just exit 
		
		// --- Start the JADE-Platform -------------------------------
		if (this.start() == false) {
			// --- Abort if JADE was not successfully started --------
			return;
		}
	}
	
	// --- Get the AgentContainer -------------------------------
	AgentContainer agentContainer = this.getContainer(inContainer);
	if (agentContainer==null) {
		// --- Do we have a remote container of that name? ------
		if (this.startRemoteAgent(agentName, agentClass, startArguments, inContainer)==true) return;
		// --- Start a new local container ----------------------
		agentContainer = this.createAgentContainer(inContainer);
	}
	
	// --- Check if the agent name is already used --------------
	Integer newAgentNoTmp = 0;
	String newAgentNameTmp = agentName;
	try {
		agentContainer.getAgent(newAgentNameTmp, AID.ISLOCALNAME);
		while (true) {
			newAgentNoTmp++;
			newAgentNameTmp = agentName + "-" + newAgentNoTmp;
			agentContainer.getAgent(newAgentNameTmp, AID.ISLOCALNAME);
		}
		
	} catch (ControllerException ce) {
		//ce.printStackTrace();
		if (newAgentNoTmp>0) {
			agentName = agentName + "-" + newAgentNoTmp;
		}
	}
	
	// --- Start the actual agent -------------------------------
	try {
		Agent agent = (Agent) ClassLoadServiceUtility.newInstance(agentClass.getName());
		agent.setArguments(startArguments);
		AgentController agentController = agentContainer.acceptNewAgent(agentName, agent);
		agentController.start();
		
	} catch (Exception ex) {
		ex.printStackTrace();
	}		
}
 
开发者ID:EnFlexIT,项目名称:AgentWorkbench,代码行数:63,代码来源:Platform.java


注:本文中的jade.wrapper.AgentContainer.acceptNewAgent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。