test/sun/management/jdp/JdpClient.java

Print this page
rev 8717 : 8014506: Test of Jdp feature
Reviewed-by:
Contributed-by: Alex Schenkman <alex.schenkman@oracle.com>

*** 34,43 **** --- 34,44 ---- import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.util.Collections; import java.util.Enumeration; import java.util.Map; + import sun.management.jdp.JdpException; import sun.management.jdp.JdpJmxPacket; import sun.management.jdp.JdpPacketReader; public class JdpClient {
*** 47,57 **** private static final int BUFFER_LENGTH = 4096; private final DatagramChannel channel; private static int maxPacketCount = 1; private static int maxEmptyPacketCount = 10; ! private void get(Map<?,?> map, String key) throws JdpException { if (map.get(key) == null) { throw new JdpException("Test failed, packet field " + key + " missed"); } --- 48,58 ---- private static final int BUFFER_LENGTH = 4096; private final DatagramChannel channel; private static int maxPacketCount = 1; private static int maxEmptyPacketCount = 10; ! private void get(Map<?, ?> map, String key) throws JdpException { if (map.get(key) == null) { throw new JdpException("Test failed, packet field " + key + " missed"); }
*** 61,71 **** throws IOException, JdpException { byte[] b = p.getPacketData(); JdpPacketReader reader = new JdpPacketReader(b); ! Map<String,String> pMap = reader.getDiscoveryDataAsMap(); get(pMap, JdpJmxPacket.UUID_KEY); get(pMap, JdpJmxPacket.MAIN_CLASS_KEY); get(pMap, JdpJmxPacket.JMX_SERVICE_URL_KEY); // get(pMap, JdpJmxPacket.INSTANCE_NAME_KEY); --- 62,72 ---- throws IOException, JdpException { byte[] b = p.getPacketData(); JdpPacketReader reader = new JdpPacketReader(b); ! Map<String, String> pMap = reader.getDiscoveryDataAsMap(); get(pMap, JdpJmxPacket.UUID_KEY); get(pMap, JdpJmxPacket.MAIN_CLASS_KEY); get(pMap, JdpJmxPacket.JMX_SERVICE_URL_KEY); // get(pMap, JdpJmxPacket.INSTANCE_NAME_KEY);
*** 100,114 **** buf.rewind(); sel.select(10 * 1000); channel.receive(buf); ! if (buf.position() == 0 ){ ! if (JdpDoSomething.getVerbose()){ System.err.println("Empty packet received"); } ! if (++emptyPacketsCount > maxEmptyPacketCount){ throw new RuntimeException("Test failed, maxEmptyPacketCount reached"); } continue; } --- 101,115 ---- buf.rewind(); sel.select(10 * 1000); channel.receive(buf); ! if (buf.position() == 0) { ! if (JdpDoSomething.getVerbose()) { System.err.println("Empty packet received"); } ! if (++emptyPacketsCount > maxEmptyPacketCount) { throw new RuntimeException("Test failed, maxEmptyPacketCount reached"); } continue; }
*** 118,128 **** buf.get(dgramData); try { JdpJmxPacket packet = new JdpJmxPacket(dgramData); JdpDoSomething.printJdpPacket(packet); checkFieldPresence(packet); ! if(++count > maxPacketCount){ break; } } catch (JdpException e) { e.printStackTrace(); throw new RuntimeException("Test failed"); --- 119,129 ---- buf.get(dgramData); try { JdpJmxPacket packet = new JdpJmxPacket(dgramData); JdpDoSomething.printJdpPacket(packet); checkFieldPresence(packet); ! if (++count > maxPacketCount) { break; } } catch (JdpException e) { e.printStackTrace(); throw new RuntimeException("Test failed");
*** 177,187 **** } PacketListener listener = new PacketListener(channel); new Thread(listener, "Jdp Client").start(); ! } catch (RuntimeException e){ System.out.println("Test failed."); } catch (Exception e) { e.printStackTrace(); System.out.println("Test failed. unexpected error " + e); } --- 178,188 ---- } PacketListener listener = new PacketListener(channel); new Thread(listener, "Jdp Client").start(); ! } catch (RuntimeException e) { System.out.println("Test failed."); } catch (Exception e) { e.printStackTrace(); System.out.println("Test failed. unexpected error " + e); }