Question & Answer
Question
What is the algorithm used in finding the vendorFile JVM system property for the application server and agent servers? (MCF 8.0)
Answer
The application server and agent servers
require a JVM system property called vendorFile, which points to a
servers.properties file, e.g.
-DvendorFile=/path/to/servers.properties
The servers.properties file, in turn, gives the
locations of various properties required by MCF, e.g. yfs.properties,
jdbc.properties. sandbox.cfg, customer_overrides.properties, etc.
The algorithm used for finding the vendorFile in the application server and
agent server is the same. The algorithm is as follows:
- If the vendorFile exists in the file
system at the given path, then the vendorFile is taken from the file system,
and all of the property files referenced by servers.properties are also taken
from the file system. For example, if you have defined
-DvendorFile=/sterling/8.0/Foundation/properties/servers.properties, and that
file exists, then that will be the servers.properties file used. In addition,
all of the properties files in servers.properties will also come from their
respective locations in the file system, as defined in servers.properties. If
you have defined -DvendorFile=/servers.properties, and servers.properties
happens to exist in the root directory '/', then that's the servers.properties
file that will be used.
- If the vendorFile is
not found in the file system location defined, then the system looks for the
vendorFile in the classpath. And, in turn, the system will look in the
classpath for all of the properties files defined in servers.properties. For
example, in a typical application ear deployment, you will define
-DvendorFile=/servers.properties (and servers.properties will NOT be available
in the root directory '/'). The system will then look for the vendorFile in
the classpath, i.e. in the ear file. In yantra.ear, you will have a
properties.jar file which contains servers.properties. They system will find
servers.properties there. Once servers.properties is found in the classpath
(in the ear), then the system will also look in the classpath for all of the
properties files defined in servers.properties by their base file names, e.g.
yfs.properties or jdbc.properties or sandbox.cfg without any directory path.
- If the vendorFile is not found in the file system, and you have servers.properties somewhere in your server classpath, i.e. in your WebLogic or WebSphere or JBoss classpath, then that servers.properties will be used. The server classpath will override the classpath of the application ear.
Historical Number
FAQ2590
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21519837