createServer(serverDef As %DynamicObject) as %DynamicObject
入力リストで定義可能なフィールド・セットは、getServer() により返されるセットと同じです (既定の設定の完全なリストは、“getServer() を使用した構成設定の取得” を参照してください)。
入力定義では、すべての必須フィールド (Name、Type、および Port) の値と、カスタマイズするその他のフィールドの値を指定する必要があります。すべての入力値は、createServer() の呼び出し時に検証されます。以下のように、ダイナミック・オブジェクト・プロパティとして入力設定を指定できます。
set def = {}
set def.Name = "AnotherServer"
set def.Type = "Java"
set def.Port = 5309
set def.ClassPath = "C:/dev/pathname/"
または JSON 文字列として指定できます。
set def = {"Name":"MyNewServer","Type":"Java","Port":5309, "ClassPath": "C:/dev/pathname/"}
この例の名前が、% 文字で始まらないことに注意してください。慣例により、事前定義された既定の構成のみが、"%" で始まる名前を持ちます。
Name の値は一意である必要があります。そのため、この例では createServer() を呼び出す前に serverExists() を呼び出してテストします。
set badName = $system.external.serverExists(def.Name)
if ('badName) set srv = $system.external.createServer(def)
write srv.%ToJSON()
{"Name":"MyNewServer","FullName":"user3:IRIS_DS2:MyNewServer","Type":"Java",
"Port":5309,"LogFile":"","AllowedIPAddresses":"127.0.0.1",
"ConnectionTimeout":5,"HeartbeatFailureAction":"R","HeartbeatFailureRetry":300,
"HeartbeatFailureTimeout":30,"HeartbeatInterval":10,"InitializationTimeout":5,
"UsePassphrase":0,"UseSharedMemory":1,"passphraseList":"",
"SSLConfigurationServer":"","SSLConfigurationClient":"",
"JVMArgs":"","JavaHome":"","ClassPath":"C:/dev/pathname/"}
この例では 4 つの必須フィールドと ClassPath のみが指定されていますが、返されるダイナミック・オブジェクトにはすべてのフィールドが含まれ、必要に応じて既定値を割り当てています。