Java tutorial
/* * * * Copyright 2012-2015 Viant. * * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * * use this file except in compliance with the License. You may obtain a copy of * * the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * * License for the specific language governing permissions and limitations under * * the License. * */package com.sm.store; import com.sm.store.server.grizzly.GZRemoteStoreServer; import com.sm.utils.JmxService; import com.sm.utils.TupleThree; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.util.ArrayList; import java.util.List; import static com.sm.transport.Utils.getOpts; public class TestGZStoreServer { private static final Log logger = LogFactory.getLog(TestGZStoreServer.class); public static void main(String[] args) { String[] opts = new String[] { "-store", "-path", "-port", "-mode", "-delay" }; String[] defaults = new String[] { "store", "./data", "7100", "0", "false" }; String[] paras = getOpts(args, opts, defaults); String p0 = paras[0]; int port = Integer.valueOf(paras[2]); String path = paras[1]; int mode = Integer.valueOf(paras[3]); boolean delay = Boolean.valueOf(paras[4]); String[] stores = p0.split(","); List<TupleThree<String, String, Integer>> storeList = new ArrayList<TupleThree<String, String, Integer>>(); for (String store : stores) { storeList.add(new TupleThree<String, String, Integer>(store, path, mode)); } GZRemoteStoreServer rs = new GZRemoteStoreServer(port, storeList, delay); logger.info("hookup jvm shutdown process"); rs.hookShutdown(); List list = new ArrayList(); //add jmx metric for (String store : stores) { list.add(rs.getRemoteStore(store)); } list.add(rs); JmxService jms = new JmxService(list); } }