|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cz.cuni.amis.pogamut.base.agent.utils.runner.impl.MultipleAgentRunner<BOT,PARAMS,MODULE> cz.cuni.amis.pogamut.ut2004.utils.MultipleUT2004BotRunner<BOT,PARAMS,MODULE>
public class MultipleUT2004BotRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
This class has only one purpose - execute ONE OR MORE BOTS inside 'main' method. You can't use it for anything else! It is THE SHORTCUT of all SHORTCUTS to execute multiple bots, wait till they finishe and close the whole Pogamut.
Designed especially for the usage inside NetBeans projects.
NOTE: by default, all bots get paused after they start and they are resumed after all bots are present in UT2004. To
change this behaviour pass 'false' through MultipleAgentRunner.setPausing(boolean)
.
NOTE: It's not even meant to be instantiated twice for two different batch of bots and consequently executed in two different threads! Single-purpose class only ;-)
NOTE: It might be very interesting for you to check out the source of method MultipleUT2004BotRunner#startAgent()
to
see how the agent should be instantiated via UT2004BotFactory
using UT2004BotModule
.
Field Summary | |
---|---|
protected java.lang.String |
host
Default host where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters) . |
protected java.lang.String |
name
Default name that will serve as a basis for IAgentId , see IAgentParameters.assignDefaults(IAgentParameters) . |
protected int |
port
Default port where the instances are going to be connected as defaults, see IAgentParameters.assignDefaults(IAgentParameters) . |
Fields inherited from class cz.cuni.amis.pogamut.base.agent.utils.runner.impl.MultipleAgentRunner |
---|
agents, consoleLogging, defaultLogLevel, killed, latch, listener, log, main, mutex |
Constructor Summary | |
---|---|
MultipleUT2004BotRunner(java.lang.String name)
Construct the runner + specify the default name, host:port will be taken from the Pogamut platform properties. |
|
MultipleUT2004BotRunner(java.lang.String name,
java.lang.String host,
int port)
Construct the runner + specify all defaults. |
Method Summary | |
---|---|
java.lang.String |
getHost()
Returns host, where newly launched bots will be connected to. |
java.lang.String |
getName()
Returns name that is going to be used to form new IAgentId of the bots. |
int |
getPort()
Returns port, where newly launched bots will be connected to. |
protected IAgentFactory |
newAgentFactory(MODULE agentModule)
Uses UT2004BotFactory for agent construction. |
protected IAgentParameters |
newDefaultAgentParameters()
Provides default parameters that is, IAgentId using name and SocketConnectionAddress
using host and port . |
protected void |
preStartHook(BOT agent)
We're setting the logging level to Level.WARNING here so the bot won't log much. |
MultipleUT2004BotRunner<BOT,PARAMS,MODULE> |
setHost(java.lang.String host)
Sets host, where newly launched bots will be connected to. |
MultipleUT2004BotRunner<BOT,PARAMS,MODULE> |
setName(java.lang.String name)
Sets name that is going to be used to form new IAgentId of the bots. |
MultipleUT2004BotRunner<BOT,PARAMS,MODULE> |
setPort(int port)
Sets port, where newly launched bots will be connected to. |
java.util.List<BOT> |
startAgents(IAgentDescriptor<PARAMS,MODULE>... agentDescriptors)
Start an agent instances described by 'agentDescriptors'. |
Methods inherited from class cz.cuni.amis.pogamut.base.agent.utils.runner.impl.MultipleAgentRunner |
---|
createAgentWithParams, getAgentCount, getLog, isMain, isPausing, killAgent, killAgents, newAgentId, postStartedHook, postStartHook, preInitHook, preResumeHook, setConsoleLogging, setLog, setLogLevel, setMain, setPausing, startAgent, startAgentsMain, startAgentsMain, startAgentsStandard, startAgentsStandard |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.lang.String host
IAgentParameters.assignDefaults(IAgentParameters)
.
protected int port
IAgentParameters.assignDefaults(IAgentParameters)
.
protected java.lang.String name
IAgentId
, see IAgentParameters.assignDefaults(IAgentParameters)
.
Constructor Detail |
---|
public MultipleUT2004BotRunner(java.lang.String name, java.lang.String host, int port)
name
- default name that serve as a basis for IAgentId
host
- default host where the instances are going to be connectedport
- default port where the instances are going to be connectedpublic MultipleUT2004BotRunner(java.lang.String name)
name
- default name that serve as a basis for IAgentId
Method Detail |
---|
public java.lang.String getName()
IAgentId
of the bots.
public MultipleUT2004BotRunner<BOT,PARAMS,MODULE> setName(java.lang.String name)
IAgentId
of the bots.
If null is passed, generic "UT2004Bot" will be set.
name
- name used for the newly started bots
public java.lang.String getHost()
public MultipleUT2004BotRunner<BOT,PARAMS,MODULE> setHost(java.lang.String host)
host
- host running GB2004 server (can't be null)
public int getPort()
public MultipleUT2004BotRunner<BOT,PARAMS,MODULE> setPort(int port)
port
- at the host where GB2004 server is listening for bot connections
protected void preStartHook(BOT agent) throws PogamutException
Level.WARNING
here so the bot won't log much.
preStartHook
in class MultipleAgentRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
PogamutException
protected IAgentParameters newDefaultAgentParameters()
IAgentId
using name
and SocketConnectionAddress
using host
and port
.
newDefaultAgentParameters
in class MultipleAgentRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
protected IAgentFactory newAgentFactory(MODULE agentModule)
UT2004BotFactory
for agent construction.
newAgentFactory
in class MultipleAgentRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
public java.util.List<BOT> startAgents(IAgentDescriptor<PARAMS,MODULE>... agentDescriptors)
IMultipleAgentRunner
IAgentDescriptor.getCount()
determines how many agents are going to be instantiated and started.
Note that if any instantiation/start of the agent fails, all agents are killed before the method throws the exception.
startAgents
in interface IMultipleAgentRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
startAgents
in class MultipleAgentRunner<BOT extends UT2004Bot,PARAMS extends UT2004AgentParameters,MODULE extends UT2004BotModule>
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |