001// Name 002// $RCSfile: Deploy.java,v $ 003// 004// Copyright 005// Copyright 2013 Cloud Software Group, Inc. ALL RIGHTS RESERVED. 006// Cloud Software Group, Inc. Confidential Information 007// 008// History 009// $Revision: 1.1.2.2 $ $Date: 2013/01/05 19:24:52 $ 010// 011package com.kabira.platform.property; 012 013/** 014 * Property names for system properties which may be set at deployment 015 * time and read by the application at runtime. 016 * <p> 017 * These properties may be optionally set as system properties during 018 * deployment using the -DPropertyName=propertyValue JVM option. 019 * <p> 020 * These properties may be read by the application at runtime using 021 * System.getProperty(). 022 * <p> 023 * Setting these properties programmatically at runtime is not supported and 024 * will result in undefined behavior. 025 */ 026public class Deploy 027{ 028 /** 029 * {@value} - 030 * Control whether components are loaded at JVM startup. 031 * <p> 032 * A boolean property. 033 * A value of true loads all configured components. 034 * A value of false disables the loading of components at startup. 035 * The default value is true. 036 */ 037 public static final String LOAD_COMPONENTS = 038 "com.kabira.platform.component.manager"; 039 040 /** 041 * {@value} - 042 * When set to true causes the class loader 043 * to create a class file in the node directory for each class modified 044 * at load time. 045 * <p> 046 * A boolean property. The default value is false. 047 */ 048 public static final String DEBUG_CLASSES = 049 "com.kabira.platform.debugClasses"; 050 051 /** 052 * {@value} - 053 * An optional string property that identifies classes that 054 * do not contain Managed Objects, or references to Managed Objects. 055 * <p> 056 * This property 057 * is a list of package names (or package prefixes), separated by the 058 * system path separator character (path.separator). The class loader 059 * will skip the byte code rewriting required 060 * to support Managed Objects, and will not attempt to fetch from a 061 * remote deployment tool, all classes that match an ignored package 062 * prefix. None of these classes can contain Managed Object definitions 063 * or references to Managed Objects. 064 */ 065 public static final String IGNORED_PACKAGES = 066 "com.kabira.platform.ignoredPackages"; 067 /** 068 * {@value} - 069 * Control whether JMX is initialized at JVM startup. 070 * <p> 071 * A boolean property. A value of true 072 * initializes JMX. A value of false disables the initialization of JMX at 073 * startup. The default value is true. 074 */ 075 public static final String JMX_ENABLE = 076 "com.kabira.platform.management.jmxEnable"; 077 078 /** 079 * {@value} - 080 * An optional string property that identifies non-managed 081 * classes that do not access any Managed Objects via reflection. 082 * <p> 083 * This property is a 084 * list of class names, or package prefixes, separated by the system 085 * path separator character (path.separator). The 086 * class loader will skip the byte code rewriting required 087 * to access Managed Objects via reflection for all classes in this list. 088 */ 089 public static final String NO_MANAGED_OBJECT_REFLECTION = 090 "com.kabira.platform.noManagedObjectReflection"; 091 092 /** 093 * {@value} - 094 * An optional string property which lists packages to be loaded by the 095 * parent of the class loader. 096 * <p> 097 * A list of package names, separated by the 098 * system path separator character (normally ":"). These packages are 099 * defined as system packages. Classes contained in these packages will 100 * always be loaded by the parent of the class loader. 101 */ 102 public static final String SYSTEM_PACKAGES = 103 "com.kabira.platform.systemPackages"; 104}