All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.util.transport.MulticastClientTool Maven / Gradle / Ivy

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.util.transport;

import java.util.HashMap;
import java.util.Map;

/**
 * 

* A client that listens for multicast messages at a designated port. You may * use this to for potential multicast issues when tuning distributed caches. *

* * @author Michael C. Han * @author Raymond Augé */ public class MulticastClientTool { public static void main(String[] args) { try { new MulticastClientTool(args); } catch (Exception e) { e.printStackTrace(); StringBuilder sb = new StringBuilder(3); sb.append("Usage: java -classpath util-java.jar "); sb.append(MulticastClientTool.class.getName()); sb.append("[-g] [-s] -h [multicastAddress] -p [port]"); System.err.println(sb.toString()); System.exit(1); } } private MulticastClientTool(String[] args) throws Exception { Map argsMap = _getArgsMap(args); Integer port = (Integer)argsMap.get("port"); String host = (String)argsMap.get("host"); Boolean gzipData = (Boolean)argsMap.get("gzip"); Boolean shortData = (Boolean)argsMap.get("short"); DatagramHandler datagramHandler = new MulticastDatagramHandler( gzipData.booleanValue(), shortData.booleanValue()); MulticastTransport multicastTransport = new MulticastTransport( datagramHandler, host, port); if (shortData.booleanValue()) { System.out.println("Truncating to 96 bytes."); } System.out.println("Started up and waiting..."); multicastTransport.connect(); synchronized (multicastTransport) { multicastTransport.wait(); } } private Map _getArgsMap(String[] args) throws Exception { Map argsMap = new HashMap<>(); for (int i = 0; i < args.length; i++) { if (args[i].equals("-g")) { argsMap.put("gzip", Boolean.TRUE); } else if (args[i].equals("-s")) { argsMap.put("short", Boolean.TRUE); } else if (args[i].equals("-h")) { argsMap.put("host", args[i + 1]); i++; } else if (args[i].equals("-p")) { argsMap.put("port", Integer.valueOf(args[i + 1])); i++; } } if (!argsMap.containsKey("gzip")) { argsMap.put("gzip", Boolean.FALSE); } if (!argsMap.containsKey("short")) { argsMap.put("short", Boolean.FALSE); } return argsMap; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy