|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Session
This is the remote Session interface which provides various methods which could be used with the started TDI Server through remote session.
Method Summary | |
---|---|
void |
addEventListener(DIEventListener aListener,
String aTypeFilter,
String aIdFilter)
Registers an Event Listener with the Session. |
void |
checkInAndLeaveCheckedOut(MetamergeConfig configuration,
String relativePathOrSolutionName)
Checks in the specified configuration and leaves it checked out. |
void |
checkInConfiguration(MetamergeConfig configuration,
String relativePathOrSolutionName)
Saves the specified configuration and releases the lock. |
void |
checkInConfiguration(MetamergeConfig configuration,
String relativePathOrSolutionName,
boolean encrypt)
Encrypts and saves the specified configuration and releases the lock. |
MetamergeConfig |
checkOutConfiguration(String relativePathOrSolutionName)
Checks out the specified configuration. |
MetamergeConfig |
checkOutConfiguration(String relativePathOrSolutionName,
String password)
Checks out the specified password protected configuration. |
ConfigInstance |
checkOutConfigurationAndLoad(String relativePathOrSolutionName)
Checks out the specified configuration and starts a temporary Config Instance on the Server. |
ConfigInstance |
checkOutConfigurationAndLoad(String relativePathOrSolutionName,
String password)
Checks out the specified configuration and starts a temporary Config Instance on the Server. |
ConfigInstance |
createNewConfigInstance(String aConfigUrl)
Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration. |
ConfigInstance |
createNewConfigInstance(String aConfigUrl,
String aPassword)
Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration. |
MetamergeConfig |
createNewConfiguration(String aRelativePath,
boolean aOverwrite)
Creates a new empty configuration and immediately checks it out. |
ConfigInstance |
createNewConfigurationAndLoad(String aRelativePath,
boolean aOverwrite)
Creates a new empty configuration, immediately checks it out and loads a temporary Config Instance on the Server. |
void |
deleteConfiguration(String relativePathOrSolutionName)
Delete a file from the configuration codebase folder. |
AssemblyLine[] |
getAssemblyLines()
Returns started AssemblyLines corresponding to the currently started configurations. |
String |
getConfigFolderPath()
Gets the value of the api.config.folder property in the remote server as a complete path. |
ConfigInstance |
getConfigInstance(String aConfigId)
Returns configuration instance corresponding to a specific configuration ID. |
ConfigInstance[] |
getConfigInstances()
Returns all currently started configuration instances. |
SecurityRegistry |
getSecurityRegistry()
Returns information about the restrictions the current user has. |
ServerInfo |
getServerInfo()
Retrieves the Server information. |
SystemLog |
getSystemLog()
Returns information about the System logging. |
SystemQueue |
getSystemQueue()
Gets the remote Server API SystemQueue representation object |
TombstoneManager |
getTombstoneManager()
Returns the TombstoneManager object. |
Object |
invokeCustom(String aCustomClassName,
String aMethodName,
Object[] aParams)
Invokes the specified method from the specified class. |
Object |
invokeCustom(String aCustomClassName,
String aMethodName,
Object[] aParamsValue,
String[] aParamsClass)
Invokes the specified method from the specified class. |
boolean |
isConfigurationCheckedOut(String relativePathOrSolutionName)
Checks if the specified configuration is checked out on the Server. |
boolean |
isSSLon()
Checks if current session is over SSL. |
ArrayList |
listAllConfigurations()
Returns a list all configurations in the directory subtree of the Server configuration codebase folder. |
ArrayList |
listConfigurations(String aRelativePath)
Returns a list of all configurations in the specified folder. |
ArrayList |
listFolders(String aRelativePath)
Returns a list of the child folders of the specified folder. |
boolean |
releaseConfigurationLock(String relativePathOrSolutionName)
Administratively releases the lock of the specified configuration. |
boolean |
removeEventListener(DIEventListener aListener)
Unregisters an Event Listener with the Session. |
void |
sendCustomNotification(String aType,
String aId,
Object aData)
Sends a custom, user defined notification to all registered listeners. |
void |
shutDownServer()
Shuts down the TDI server. |
void |
shutDownServer(int aExitCode)
Shuts down the TDI Server with the specified exit code. |
void |
shutDownServer(int aExitCode,
boolean sync)
Shuts down the TDI Server with the specified exit code, after stopping all AssemblyLines and waiting a while for them to finish. |
ConfigInstance |
startConfigInstance(String configPathOrSolutionName)
Starts a new Config Instance on the Server with the configuration given. |
ConfigInstance |
startConfigInstance(String configPathOrSolutionName,
boolean keepAlive,
String password)
Starts a new Config Instance on the Server with the configuration given. |
ConfigInstance |
startConfigInstance(String configPathOrSolutionName,
boolean keepAlive,
String password,
String runName,
String overrideProps)
Starts a new Config Instance on the Server with the configuration given. |
ConfigInstance |
startConfigInstance(String configPathOrSolutionName,
boolean keepAlive,
String password,
String runName,
String overrideProps,
LogListener logListener)
Starts a new Config Instance on the Server with the configuration given. |
ConfigInstance |
startTempConfigInstance(String xmlConfig,
boolean keepAlive,
String runName,
String overrideProps)
Start a configuration instance which has no associated configuration file. |
ConfigInstance |
startTempConfigInstance(String xmlConfig,
boolean keepAlive,
String runName,
String overrideProps,
LogListener logListener)
Start a configuration instance which has no associated configuration file. |
boolean |
undoCheckOut(String relativePathOrSolutionName)
Releases the lock on the specified configuration, thus aborting all changes being done. |
Method Detail |
---|
ServerInfo getServerInfo() throws DIException, RemoteException
DIException
- if an error occurs while retrieving the Server information.
RemoteException
- if a communication-related exception occurs.ConfigInstance[] getConfigInstances() throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var ci = session.getConfigInstances(); for (i=0; i<ci.length; i++) { task.logmsg("Config instance: " + ci[i]);
DIException
- if an error occurs while retrieving the information about the
currently started configuration instances.
RemoteException
- if a communication-related exception occurs.ConfigInstance getConfigInstance(String aConfigId) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var cID = "testconfig.xml"; var ci = session.getConfigInstance(cID); //do something with ci
aConfigId
- the ID of the wanted configuration.
DIException
- if an error occurs while retrieving the information.
RemoteException
- if a communication-related exception occurs.AssemblyLine[] getAssemblyLines() throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var assemblyLines = session.getAssemblyLines(); for (i = 0; i < assemblyLines.length; i++) { task.logmsg("AL name: " + assemblyLines[i].getName()); // do someting with assemblyLines[i] }
DIException
- if an error occurs while retrieving the information about the
AssemblyLines.
RemoteException
- if a communication-related exception occurs.ConfigInstance startConfigInstance(String configPathOrSolutionName) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); session.startConfigInstance("testconfig.xml");
configPathOrSolutionName
- The URL where the configuration file is loaded from or the
Solution Name of the configuration file. Only configuration
files located in the configuration codebase folder can be
referenced by Solution Name.
DIException
- if an error occurs on starting the new Config Instance.
RemoteException
- if a communication-related exception occurs.ConfigInstance startConfigInstance(String configPathOrSolutionName, boolean keepAlive, String password) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var pass = "Difficult password"; session.startConfigInstance("testconfig.xml", false, pass);
configPathOrSolutionName
- The URL where the configuration file is loaded from or the
Solution Name of the configuration file.keepAlive
- When true
the Config Instance will stay alive
even when no threads are running, when false
the Config Instance will automatically terminate when its last
thread terminates.password
- Specify the password of the configuration when it is
password-protected; specify null
when the
configuration is not password-protected.
DIException
- if an error occurs on starting the new Config Instance.
RemoteException
- if a communication-related exception occurs.ConfigInstance startConfigInstance(String configPathOrSolutionName, boolean keepAlive, String password, String runName, String overrideProps) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var pass = "Difficult password"; session.startConfigInstance("testconfig.xml", false, pass, "myrunname", "mystore=mynewstore.properties");
configPathOrSolutionName
- The URL where the configuration file is loaded from or the
Solution Name of the configuration file. Only configuration
files located in the configuration codebase folder can be
referenced by Solution Name.keepAlive
- When true
the Config Instance will stay alive
even when no threads are running, when false
the Config Instance will automatically terminate when its last
thread terminates.password
- Specify the password of the configuration when it is
password-protected; specify null
when the
configuration is not password-protected.runName
- A name which will be used as the configuration instance id. It
must not coincide with any of the ids of running configuration
instances. It must be a valid file name on the file system, on
which TDI is running, because the configuration instance id
(which is the same as the run name) is used when storing
certain configuration-instance-specific information, such as
the System Logs. To avoid file system problems, TDI forbids
the following symbols to appear inside a run name: '\' '/' ':'
'*' '?' '"' '<' '>' '|'. The run name is an optional
parameter that can be null.overrideProps
- Use to redirect property stores to load their contents from
files different from the ones specified in the configuration
file. Property stores and their corresponding files are
specified as key-value pairs separated with spaces, e.g.:
"mystore1=file1.properties mystore2=file2.properties". You
cannot override a property store from an included
configuration file, because its property stores are not
directly accessible in the including file. This is an optional
parameter that can be null.
DIException
- If an error occurs on starting the new Config Instance or if
the run name contains any of the following symbols: '\' '/'
':' '*' '"' '<' '>' '|'.
RemoteException
- if a communication-related exception occurs.ConfigInstance startConfigInstance(String configPathOrSolutionName, boolean keepAlive, String password, String runName, String overrideProps, LogListener logListener) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var pass = "Difficult password"; session.startConfigInstance("testconfig.xml", false, pass, "myrunname", "mystore=mynewstore.properties", null);
configPathOrSolutionName
- The URL where the configuration file is loaded from or the
Solution Name of the configuration file. Only configuration
files located in the configuration codebase folder can be
referenced by Solution Name.keepAlive
- When true
the Config Instance will stay alive
even when no threads are running, when false
the Config Instance will automatically terminate when its last
thread terminates.password
- Specify the password of the configuration when it is
password-protected; specify null
when the
configuration is not password-protected.runName
- A name which will be used as the configuration instance id. It
must not coincide with any of the ids of running configuration
instances. It must be a valid file name on the file system, on
which TDI is running, because the configuration instance id
(which is the same as the run name) is used when storing
certain configuration-instance-specific information, such as
the System Logs. To avoid file system problems, TDI forbids
the following symbols to appear inside a run name: '\' '/' ':'
'*' '?' '"' '<' '>' '|'. The run name is an optional
parameter that can be null.overrideProps
- Use to redirect property stores to load their contents from
files different from the ones specified in the configuration
file. Property stores and their corresponding files are
specified as key-value pairs separated with spaces, e.g.:
"mystore1=file1.properties mystore2=file2.properties". You
cannot override a property store from an included
configuration file, because its property stores are not
directly accessible in the including file. This is an optional
parameter that can be null.logListener
- Listener for messages logged by the configuration instance.
DIException
- If an error occurs on starting the new Config Instance or if
the run name contains any of the following symbols: '\' '/'
':' '*' '"' '<' '>' '|'.
RemoteException
- if a communication-related exception occurs.@Deprecated ConfigInstance createNewConfigInstance(String aConfigUrl) throws DIException, RemoteException
aConfigUrl
- The URL of the new configuration file to be created.
DIException
- if an error occurs while creating the new Config Instance.
RemoteException
- if a communication-related exception occurs.@Deprecated ConfigInstance createNewConfigInstance(String aConfigUrl, String aPassword) throws DIException, RemoteException
aConfigUrl
- The URL of the new configuration file to be created.aPassword
- If this parameter is not null
, the new
configuration will be protected with the given password.
DIException
- if an error occurs while creating the new Config Instance.
RemoteException
- if a communication-related exception occurs.void shutDownServer() throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); session.shutDownServer();
DIException
- if an error occurs while shutting down the server.
RemoteException
- if a communication-related exception occurs.void shutDownServer(int aExitCode) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); session.shutDownServer(2);
aExitCode
- the exit code used to shut down TDI Server.
DIException
- if an error occurs while shutting down the server.
RemoteException
- if a communication-related exception occurs.void shutDownServer(int aExitCode, boolean sync) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); session.shutDownServer(0, false);
aExitCode
- the exit code used to shut down TDI Server.sync
- If true, do the waiting in separate Threads on the server.
DIException
- if an error occurs while shutting down the server.
RemoteException
- if a communication-related exception occurs.SecurityRegistry getSecurityRegistry() throws DIException, RemoteException
DIException
- if an error occurs while retrieving security information.
RemoteException
- if a communication-related exception occurs.SystemLog getSystemLog() throws DIException, RemoteException
DIException
- if an error occurs while retrieving the System logging
information.
RemoteException
- if a communication-related exception occurs.void addEventListener(DIEventListener aListener, String aTypeFilter, String aIdFilter) throws DIException, RemoteException
aListener
- The Event Listener to register with the Session.aTypeFilter
- A filter for the type of events.aIdFilter
- A filter for the id of events.
DIException
- if an error occurs while registering the listener.
RemoteException
- if a communication-related exception occurs.boolean removeEventListener(DIEventListener aListener) throws DIException, RemoteException
aListener
- The Event Listener to unregister.
DIException
- if an error occurs while unregistering the listener.
RemoteException
- if a communication-related exception occurs.TombstoneManager getTombstoneManager() throws DIException, RemoteException
DIException
- if an error occurs while getting the TombstoneManager.
RemoteException
- if a communication-related exception occurs.boolean isSSLon() throws DIException, RemoteException
DIException
- if an error occurs while retrieving the information.
RemoteException
- if a communication-related exception occurs.boolean releaseConfigurationLock(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs during releasing the lock.
RemoteException
- if a communication-related exception occurs.boolean undoCheckOut(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs during releasing the lock.
RemoteException
- if a communication-related exception occurs.ArrayList listConfigurations(String aRelativePath) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); for(alcfg in session.listConfigurations("test_folder")){ task.logmsg("getting name"); task.logmsg("Conf: " + alcfg); }
aRelativePath
- A folder relative to the Server configuration codebase folder.
DIException
- If an error occurs while retrieving configurations.
RemoteException
- if a communication-related exception occurs.ArrayList listFolders(String aRelativePath) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); for(p in session.listFolders("test_folder")){ task.logmsg("getting name"); task.logmsg("Folder: " + p); }
aRelativePath
- A folder relative to the Server configuration codebase folder.
DIException
- If an error occurs while retrieving child folder.
RemoteException
- if a communication-related exception occurs.ArrayList listAllConfigurations() throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); for(alcfg in session.listAllConfigurations()){ task.logmsg("getting name:"); task.logmsg("Conf: " + alcfg); }
DIException
- If an error occurs while retrieving configurations.
RemoteException
- if a communication-related exception occurs.MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs while checking out the configuration.
RemoteException
- if a communication-related exception occurs.MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName, String password) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).password
- Specify the password for password protected configurations.
DIException
- If an error occurs while checking out the configuration.
RemoteException
- if a communication-related exception occurs.ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs while checking out the configuration.
RemoteException
- if a communication-related exception occurs.ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName, String password) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).password
- Specify the password for password protected configurations.
DIException
- If an error occurs while checking out the configuration.
RemoteException
- if a communication-related exception occurs.void checkInConfiguration(MetamergeConfig configuration, String relativePathOrSolutionName) throws DIException, RemoteException
configuration
- The MetamergeConfig object representing the configuration to
be checked in.relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs while checking in the configuration.
RemoteException
- if a communication-related exception occurs.void checkInAndLeaveCheckedOut(MetamergeConfig configuration, String relativePathOrSolutionName) throws DIException, RemoteException
configuration
- The MetamergeConfig object representing the configuration to
be checked in.relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs while checking in the configuration.
RemoteException
- if a communication-related exception occurs.void checkInConfiguration(MetamergeConfig configuration, String relativePathOrSolutionName, boolean encrypt) throws DIException, RemoteException
configuration
- The MetamergeConfig object representing the configuration to
be checked in.relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).encrypt
- If set to true, the configuration will be encrypted on the
Server.
DIException
- If an error occurs while checking in the configuration.
RemoteException
- if a communication-related exception occurs.MetamergeConfig createNewConfiguration(String aRelativePath, boolean aOverwrite) throws DIException, RemoteException
aRelativePath
- The path of the new configuration file relative to the Server
configuration codebase folder.aOverwrite
- Specify whether to overwrite or not an already exising
configuration file.
DIException
- If an error occurs while creating the new configuration.
RemoteException
- if a communication-related exception occurs.ConfigInstance createNewConfigurationAndLoad(String aRelativePath, boolean aOverwrite) throws DIException, RemoteException
aRelativePath
- The path of the new configuration file relative to the Server
configuration codebase folder.aOverwrite
- Specify whether to overwrite or not an already existing
configuration file.
DIException
- If an error occurs while creating the new configuration.
RemoteException
- if a communication-related exception occurs.boolean isConfigurationCheckedOut(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- If an error occurs while checking the configuration.
RemoteException
- if a communication-related exception occurs.void sendCustomNotification(String aType, String aId, Object aData) throws DIException, RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var t = work.getAttribute("event.type"); var id = work.getAttribute("event.id"); var data = work.getAttribute("event.userData"); session.sendCustomNotification(t, id, data);
aType
- Notification type, will be automatically prefixed with "user."aId
- Notification ID, usually identifies the object this event
originated from.aData
- Custom user data. Make sure the object passed is serializable
if you want to send this event notification in a remote
context.
DIException
- If an error occurs while sending the notification.
RemoteException
- if a communication-related exception occurs.SystemQueue getSystemQueue() throws DIException, RemoteException
DIException
- If the System Queue is turned off or the System Queue cannot
be initialized
RemoteException
- If the Server API RMI connection failsString getConfigFolderPath() throws RemoteException
Example:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var p = session.getConfigFolderPath(); var f = new java.io.File(p); if (f.exists()) task.logmsg("Folder path: " + p);
RemoteException
- if a communication-related exception occurs.Object invokeCustom(String aCustomClassName, String aMethodName, Object[] aParams) throws DIException, RemoteException
invokeCustom
method. The usage of this method can be
turned on/off. There is a property in the global.properties file called
api.custom.method.invoke.on. If this property is set to true then this
method can be invoked, otherwise an exception is thrown if this method is
invoked. There is a restriction on the classes which can be directly
invoked. The allowed classes are described in another property in the
global.properties file called api.custom.method.invoke.allowed.classes.
Only classes listed in this property can be directly invoked by this
method. If a user tries to invoke a class which is not in this list then
an exception is thrown.
Example: Suppose the following class is packaged in a jar file,
which is then placed in the 'jars' folder of TDI:
public class MyClass {
Suppose the global.properties TDI configuration file contains the
following lines:
public static Integer multiply(Integer a , Integer b){
return new Integer(a.intValue() * b.intValue());
}
}
api.custom.method.invoke.on=true
api.custom.method.invoke.allowed.classes=MyClass
Now we can do the following:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var result = session.invokeCustom("MyClass", "multiply", new Array(3, 5));
aCustomClassName
- The class containing the method to be invoked.aMethodName
- The name of the method to be invoked.aParams
- Array of parameters used by the invoked method.
DIException
- If an error occurs while invoking the method.
RemoteException
- If a communication-related exception occurs.Object invokeCustom(String aCustomClassName, String aMethodName, Object[] aParamsValue, String[] aParamsClass) throws DIException, RemoteException
invokeCustom
methods is that when using this method the
user MUST specify the parameters' type. The usage of this method can be
turned on/off. There is a property in the global.properties file called
api.custom.method.invoke.on. If this property is set to true then this
method can be invoked, otherwise an exception is thrown if this method is
invoked. There is a restriction on the classes which can be directly
invoked. The allowed classes are described in another property in the
global.properties file called api.custom.method.invoke.allowed.classes.
Only classes listed in this property can be directly invoked by this
method. If the user tries to invoke a class which is not in this list
then an exception is thrown.
Example: Suppose the following class is packaged in a jar file,
which is then placed in the 'jars' folder of TDI:
public class MyClass {
Suppose the global.properties TDI configuration file contains the
following lines:
public static Integer multiply(Integer a , Integer b){
return new Integer(a.intValue() * b.intValue());
}
}
api.custom.method.invoke.on=true
api.custom.method.invoke.allowed.classes=MyClass
Now we can do the following:
var sf = java.rmi.Naming.lookup("rmi://127.0.0.1:1099/SessionFactory"); var session = sf.createSession(); var result = session.invokeCustom("MyClass", "multiply", new Array(3, 5), new Array("java.lang.Integer", "java.lang.Integer"));
aCustomClassName
- The class containing the method to be invoked.aMethodName
- The name of the method to be invoked.aParamsValue
- Array of parameters used by the invoked method.aParamsClass
- The type of the parameters used by the invoked method.
DIException
- If an error occurs while invoking the method.
RemoteException
- If a communication-related exception occurs.void deleteConfiguration(String relativePathOrSolutionName) throws DIException, RemoteException
relativePathOrSolutionName
- The path to the configuration relative to the Server
configuration codebase folder or the Solution Name of the
configuration (the configuration must be inside the
configuration codebase folder).
DIException
- The file is currently checked-out or deletion failed (e.g.
the file does not exist).
RemoteException
- If a communication-related exception occurs.ConfigInstance startTempConfigInstance(String xmlConfig, boolean keepAlive, String runName, String overrideProps) throws DIException, RemoteException
xmlConfig
- A configuration as a XML string.keepAlive
- When true
the Config Instance will stay alive
even when no threads are running, when false
the Config Instance will automatically terminate when its last
thread terminates.runName
- A name which will be used as the configuration instance id. It
must not coincide with any of the id's of running
configuration instances. It must not contain forward or back
slashes or colons. This is an optional parameter that can be
null.overrideProps
- Use to redirect property stores to load their contents from
files different from the ones specified in the configuration.
Property stores and their corresponding files are specified as
key-value pairs separated with spaces, e.g.:
"mystore1=file1.properties mystore2=file2.properties". You
cannot override a property store from an included
configuration, because its property stores are not directly
accessible. This is an optional parameter that can be null.
DIException
- If an error occurs on starting the new Config Instance or if
the run name is not a valid file name.
RemoteException
- If a communication-related exception occurs.ConfigInstance startTempConfigInstance(String xmlConfig, boolean keepAlive, String runName, String overrideProps, LogListener logListener) throws DIException, RemoteException
xmlConfig
- A configuration as a XML string.keepAlive
- When true
the Config Instance will stay alive
even when no threads are running, when false
the Config Instance will automatically terminate when its last
thread terminates.runName
- A name which will be used as the configuration instance id. It
must not coincide with any of the id's of running
configuration instances. It must not contain forward or back
slashes or colons. This is an optional parameter that can be
null.overrideProps
- Use to redirect property stores to load their contents from
files different from the ones specified in the configuration.
Property stores and their corresponding files are specified as
key-value pairs separated with spaces, e.g.:
"mystore1=file1.properties mystore2=file2.properties". You
cannot override a property store from an included
configuration, because its property stores are not directly
accessible. This is an optional parameter that can be null.logListener
- Listener for messages logged by this configuration instance.
DIException
- If an error occurs on starting the new Config Instance or if
the run name is not a valid file name.
RemoteException
- If a communication-related exception occurs.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |