/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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 org.apache.brooklyn.entity.java; import org.apache.brooklyn.config.ConfigKey; import org.apache.brooklyn.core.config.ConfigKeys; import org.apache.brooklyn.core.config.MapConfigKey; import org.apache.brooklyn.core.config.SetConfigKey; import org.apache.brooklyn.util.core.flags.SetFromFlag; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; public interface UsesJava { /** system properties (-D) to append to JAVA_OPTS; normally accessed through {@link JavaEntityMethods#javaSysProp(String)} */ @SetFromFlag("javaSysProps") public static final MapConfigKey<String> JAVA_SYSPROPS = new MapConfigKey<String>(String.class, "java.sysprops", "Java command line system properties", Maps.<String,String>newLinkedHashMap()); /** * Used to set java options. These options are prepended to the defaults. * They can also be used to override defaults. The rules for overrides are: * <ul> * <li>If contains a mutually exclusive setting, then the others are removed. Those supported are: * <ul> * <li>"-client" and "-server" * </ul> * <li>If value has a well-known prefix indicating it's a key-value pair. Those supported are: * <ul> * <li>"-Xmx" * <li>"-Xms" * <li>"-Xss" * </ul> * <li>If value contains "=" then see if there's a default that matches the section up to the "=". * If there is, then remove the original and just include this. * e.g. "-XX:MaxPermSize=512m" could be overridden in this way. * </ul> */ @SetFromFlag("javaOpts") public static final SetConfigKey<String> JAVA_OPTS = new SetConfigKey<String>(String.class, "java.opts", "Java command line options", ImmutableSet.<String>of()); public static final ConfigKey<Boolean> CHECK_JAVA_HOSTNAME_BUG = ConfigKeys.newBooleanConfigKey( "java.check.hostname.bug", "Check whether hostname is too long and will likely crash Java" + "due to bug 7089443", true); @SetFromFlag("javaVersionRequired") ConfigKey<String> JAVA_VERSION_REQUIRED = ConfigKeys.newStringConfigKey("java.version.required", "Java version required", "1.7"); }