JADE没有可用的此类插件,因为它没有得到广泛使用的框架,而且没有人愿意为此开发一个插件。但是有一种解决方法可以按常规方式运行它,但这仅在您已经知道自己的
<fully-qualified-agent-class>名字的情况下才有效。您可以做的是编写一个扩展的类,
Thread并从
Thread的
run()方法中通过传递
<fully-qualified-agent-class>as参数来调用JADE框架代理。请参阅下面的示例。
jadeBootThread.java
public class jadeBootThread extends Thread {private final String jadeBoot_CLASS_NAME = "jade.Boot";private final String MAIN_METHOD_NAME = "main";//add the <agent-local-name>:<fully-qualified-agent-class> name here;// you can add more than one by semicolon separated values.private final String ACTOR_NAMES_args = "Agent1:com.myagents.agent1";private final String GUI_args = "-gui";private final Class<?> secondClass;private final Method main;private final String[] params;public jadeBootThread() throws ClassNotFoundException, SecurityException, NoSuchMethodException { secondClass = Class.forName(jadeBoot_CLASS_NAME); main = secondClass.getMethod(MAIN_METHOD_NAME, String[].class); params = new String[]{GUI_args, ACTOR_NAMES_args};}@Overridepublic void run() { try { main.invoke(null, new Object[]{params}); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { ex.printStacktrace(); }}}
现在,您可以使用eclipse插件等创建可运行的jar文件,从而从您的main方法或任何其他方式调用此线程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)