1 package cz.cuni.amis.pogamut.base.utils.logging.network; 2 3 import org.junit.Test; 4 5 import cz.cuni.amis.pogamut.base.agent.jmx.proxy.AgentJMXProxy; 6 import cz.cuni.amis.pogamut.base.agent.state.level1.IAgentStateDown; 7 import cz.cuni.amis.pogamut.base.utils.Pogamut; 8 import cz.cuni.amis.pogamut.base.utils.logging.NetworkLogManager; 9 10 public class Test05_JMXEnabledNetworkLogging extends JMXNetworkLoggingTest { 11 12 @Test 13 public void test() { 14 15 try { 16 17 double logicFrequency = 5; 18 int logsPerCycle = 2000; 19 int lifeTimeSeconds = 2; 20 int logicCycles = (int)Math.ceil(logicFrequency * lifeTimeSeconds); 21 int totalLogsOfOneCategory = logsPerCycle * logicCycles; 22 23 JMXNetworkLoggingAgent agent = createNewAgentJMX(logicFrequency, logsPerCycle, logicCycles); 24 25 System.out.println("[INFO] Starting agent... "); 26 27 agent.start(); 28 29 System.out.println("[INFO] Enabling agent JMX... "); 30 31 String agentAddress = agent.getJMX().enableJMX(); 32 33 System.out.println("[INFO] Creating AgentJMXProxy... "); 34 35 AgentJMXProxy agentProxy = new AgentJMXProxy(agentAddress); 36 37 System.out.println("[INFO] Enabling network logging via JMX..."); 38 39 agentProxy.getLogger().addDefaultNetworkHandler(); 40 41 try { 42 43 System.out.println("[INFO] Creating NetworkLogClient..."); 44 45 CheckNetworkLogClient logClient1 = 46 new CheckNetworkLogClient( 47 "LogClient1-" + agent.getName(), 48 "localhost", 49 NetworkLogManager.getNetworkLogManager().getLoggerPort(), 50 agent.getComponentId().getToken() 51 ); 52 53 System.out.println("[INFO] Starting NetworkLogClient..."); 54 55 logClient1.start(); 56 57 try { 58 System.out.println("[INFO] Dropping agent logic latch, starting to send logs..."); 59 agent.getLogicLatch().countDown(); 60 61 agent.awaitState(IAgentStateDown.class); 62 logClient1.getRunning().waitFor(1000, false); 63 logClient1.getThroughput().check(); 64 65 checkAgent(agent); 66 checkLogClient(logClient1, totalLogsOfOneCategory); 67 68 } finally { 69 if (logClient1.getRunning().getFlag()) { 70 logClient1.stop(); 71 } 72 } 73 } finally { 74 if (agent.notInState(IAgentStateDown.class)) agent.kill(); 75 } 76 77 78 79 } finally { 80 Pogamut.getPlatform().close(); 81 } 82 83 System.out.println("---/// TEST OK ///---"); 84 } 85 86 }