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);
}