com.ibm.di.api.jmx.mbeans
Class ConfigInstance

java.lang.Object
  extended by com.ibm.di.api.jmx.mbeans.BaseAdmin
      extended by com.ibm.di.api.jmx.mbeans.ConfigInstance
All Implemented Interfaces:
BaseAdminMBean, BaseMBean, ConfigInstanceMBean

public class ConfigInstance
extends BaseAdmin
implements ConfigInstanceMBean

ConfigInstance class implements public methods exposed through JMX layer.


Field Summary
static java.lang.String MBEAN_TYPE
          Type of the MBean.
 
Constructor Summary
ConfigInstance(ConfigInstance aConfigInstance)
          Class constructor.
 
Method Summary
static javax.management.ObjectName genObjectName(java.lang.String aConfigInstanceName)
          Generates object name for specified assembly line handler.
 java.lang.String getALLastLogFileName(java.lang.String aALName)
          Returns the name of the log file created on the last run of a given AssemblyLine.
 java.lang.String getALLog(java.lang.String aALName, java.lang.String aLogFileName)
          Given an AssemblyLine name, and a log file name, retrieves the log of this AssemblyLine, stored in the specified file.
 java.lang.String[] getALLogFileNames(java.lang.String aALName)
          Returns the names of all available log files for a given AssemblyLine.
 java.lang.String getALLogLastChunk(java.lang.String aALName, java.lang.String aLogFileName, java.lang.Integer aKilobytes)
          Retrieves the last chunk from a specified AssemblyLine's log file.
 SchemaConfig getAssemblyLineInputParameters(java.lang.String aAssemblyLineName)
          Returns the AssemblyLine’s input parameters.
 java.lang.String[] getAssemblyLineNames()
          Returns the AssemblyLines’ names.
 SchemaConfig getAssemblyLineOutputParameters(java.lang.String aAssemblyLineName)
          Returns the AssemblyLine’s output parameters.
 javax.management.ObjectName[] getAssemblyLines()
          Returns the names of currently started AssemblyLines of the configuration each represented as ObjectName generated from AssemblyLine’s name and unique code.
 java.lang.String[] getAssemblyLinesNames()
          Deprecated. 
 java.lang.String getConfigId()
          Returns the configuration ID generated by the server.
 java.lang.String getConfigPath()
          Retrieves the config path.
 MetamergeConfig getConfiguration()
          Returns configuration instance representing this configuration.
 PoolDefConfig getConnectorPoolConfig(java.lang.String aConnectorPoolName)
          Returns the Connector Pool configuration object.
 int getConnectorPoolFreeNum(java.lang.String aConnectorPoolName)
          Returns the number of free Connectors in the specified Connector Pool.
 java.lang.String[] getConnectorPoolNames()
          Returns the names of all Connector Pools in the Config Instance.
 int getConnectorPoolSize(java.lang.String aConnectorPoolName)
          Returns the size of the specified Connector Pool.
 ExternalPropertiesConfig getExternalProperties()
          Returns the external properties of the configuration.
 ExternalPropertiesConfig getExternalProperties(java.lang.String aKey)
          Returns the ExternalPropertiesConfig object for the named external properties object.
 java.lang.String[] getExternalPropertiesKeys()
          Returns the external properties object names.
 java.lang.String getGlobalUniqueID()
          Returns the Config Instance GUID.
 java.lang.String getId()
          Reads attribute "Id".
 java.util.Date getInstanceBootTime()
          Returns the Instance boot time.
 javax.management.ObjectName getTDIProperties()
          Access to the TDIProperies for the particular config.
 java.lang.String getType()
          Reads attribute "Type".
 int purgeConnectorPool(java.lang.String aConnectorPoolName)
          Unused Connectors will be released so that the Pool is shrunk to its minimum size.
 void reload()
          Reloads the Config Instance with its current configuration.
 void saveConfiguration()
          Deprecated. 
 void saveConfiguration(java.lang.Boolean aEncrypt)
          Deprecated. 
 void saveExternalProperties()
          Deprecated. 
 void setConfiguration(MetamergeConfig aConfiguration)
          Sets given configuration to this configuration.
 void setExternalProperties(ExternalPropertiesConfig aExPropConfig)
          Deprecated. 
 void setExternalProperties(java.lang.String aKey, ExternalPropertiesConfig aExPropConfig)
          Deprecated. 
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName)
          Starts the specified AssemblyLine asynchronously.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, java.lang.Boolean aSync)
          Starts the specified AssemblyLine.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, Entry aInputData)
          Starts the specified AssemblyLine with the given input data asynchronously.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, Entry aInputData, AssemblyLineListener aListener, java.lang.Boolean aGetLogs)
          Starts asynchronously the specified AssemblyLine with the given input data and results listener.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, Entry aInputData, AssemblyLineListener aListener, java.lang.Boolean aGetLogs, java.lang.Boolean aSync)
          Starts the specified AssemblyLine with the given input data and results listener.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, Entry aInputData, AssemblyLineListener aListener, java.lang.Boolean aGetLogs, java.lang.Boolean aSync, java.lang.Boolean aGetEntryOnEachCycle)
          Starts the specified AssemblyLine with the given input data and results listener.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, Entry aInputData, java.lang.Boolean aSync)
          Starts the specified AssemblyLine with the given input data.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, TaskCallBlock aTcb)
          Starts asynchronously the specified AssemblyLine with the given TaskCallBlock.
 javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName, TaskCallBlock aTcb, java.lang.Boolean aSync)
          Starts the specified AssemblyLine with the given TaskCallBlock.
 javax.management.ObjectName startAssemblyLineManual(java.lang.String aAssemblyLineName, Entry aInputData)
          Starts the specified AssemblyLine with the given input data in manual mode.
 void stop()
          Stops the Config Instance.
 
Methods inherited from class com.ibm.di.api.jmx.mbeans.BaseAdmin
getCurrentUserId, getKeyPropertyList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MBEAN_TYPE

public static final java.lang.String MBEAN_TYPE
Type of the MBean.

See Also:
Constant Field Values
Constructor Detail

ConfigInstance

public ConfigInstance(ConfigInstance aConfigInstance)
               throws DIException
Class constructor.

Parameters:
aConfigInstance - com.ibm.di.api.local.ConfigInstance
Throws:
DIException
Method Detail

getType

public java.lang.String getType()
Reads attribute "Type".

getType() and getId() are used in a common schema for object names for all MBeans in the management package. The key properties part of the object name of each MBean is defined as "type=" + getType() + ",id=" + getId(), for example "type=AssemblyLine,id=Hello".

Specified by:
getType in interface BaseMBean
Returns:
the type of this MBean.

getId

public java.lang.String getId()
                       throws DIException
Reads attribute "Id". The "Id" value should be different for different MBeans of the same type.

getType() and getId() are used in a common schema for object names for all MBeans in the management package. The key properties part of the object name of each MBean is defined as "type=" + getType() + ",id=" + getId(), for example "type=AssemblyLine,id=Hello".

Specified by:
getId in interface BaseMBean
Returns:
the Id of this MBean.
Throws:
DIException - if an error occurs while obtaining MBean's Id.

getConfigId

public java.lang.String getConfigId()
                             throws DIException
Returns the configuration ID generated by the server.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
        
        var jmxUrl = new 
                javax.management.remote.JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
        var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
        var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
        mBeans = jmxMBeanServer.queryMBeans(null, null).iterator(); 
        while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName()=="com.ibm.di.api.jmx.mbeans.ConfigInstance")
        break; 
        }
 
        var on = mb.getObjectName();
        var res = jmxMBeanServer.getAttribute(on,"ConfigId");
        task.logmsg("Result "+ res);
  }
  
  Sample output: Result C__Documents and Settings_username_My Documents_TDI_rs.xml
 

Specified by:
getConfigId in interface ConfigInstanceMBean
Returns:
String object representing the configuration ID.
Throws:
DIException - if an error occurs while getting the configuration ID.

getConfiguration

public MetamergeConfig getConfiguration()
                                 throws DIException
Returns configuration instance representing this configuration.

Specified by:
getConfiguration in interface ConfigInstanceMBean
Returns:
MetamergeConfig object representing this configuration.
Throws:
DIException - if an error occurs while getting the configuration.

setConfiguration

public void setConfiguration(MetamergeConfig aConfiguration)
                      throws DIException
Sets given configuration to this configuration.

Specified by:
setConfiguration in interface ConfigInstanceMBean
Parameters:
aConfiguration - The new configuration.
Throws:
DIException - if an error occurs while setting the configuration.

saveConfiguration

@Deprecated
public void saveConfiguration()
                       throws DIException
Deprecated. 

Specified by:
saveConfiguration in interface ConfigInstanceMBean
Throws:
DIException

saveConfiguration

@Deprecated
public void saveConfiguration(java.lang.Boolean aEncrypt)
                       throws DIException
Deprecated. 

Specified by:
saveConfiguration in interface ConfigInstanceMBean
Throws:
DIException

getExternalProperties

public ExternalPropertiesConfig getExternalProperties()
                                               throws DIException
Returns the external properties of the configuration.

Specified by:
getExternalProperties in interface ConfigInstanceMBean
Returns:
ExternalPropertiesConfig object representing the configuration’s external properties.
Throws:
DIException - if an error occurs while getting the external properties.

getExternalProperties

public ExternalPropertiesConfig getExternalProperties(java.lang.String aKey)
                                               throws DIException
Returns the ExternalPropertiesConfig object for the named external properties object.

Specified by:
getExternalProperties in interface ConfigInstanceMBean
Parameters:
aKey - The external property object name.
Returns:
ExternalPropertiesConfig object representing the configuration’s external properties specified by the external property object name.
Throws:
DIException - if an error occurs while getting the external properties.

getExternalPropertiesKeys

public java.lang.String[] getExternalPropertiesKeys()
                                             throws DIException
Returns the external properties object names.

Specified by:
getExternalPropertiesKeys in interface ConfigInstanceMBean
Returns:
String array each value representing one external property object name.
Throws:
DIException - if an error occurs while getting the external properties names.

setExternalProperties

@Deprecated
public void setExternalProperties(ExternalPropertiesConfig aExPropConfig)
                           throws DIException
Deprecated. 

Specified by:
setExternalProperties in interface ConfigInstanceMBean
Throws:
DIException

setExternalProperties

@Deprecated
public void setExternalProperties(java.lang.String aKey,
                                             ExternalPropertiesConfig aExPropConfig)
                           throws DIException
Deprecated. 

Specified by:
setExternalProperties in interface ConfigInstanceMBean
Throws:
DIException

saveExternalProperties

@Deprecated
public void saveExternalProperties()
                            throws DIException
Deprecated. 

Specified by:
saveExternalProperties in interface ConfigInstanceMBean
Throws:
DIException

getAssemblyLinesNames

@Deprecated
public java.lang.String[] getAssemblyLinesNames()
                                         throws DIException
Deprecated. 

Specified by:
getAssemblyLinesNames in interface ConfigInstanceMBean
Throws:
DIException

getAssemblyLineNames

public java.lang.String[] getAssemblyLineNames()
                                        throws DIException
Returns the AssemblyLines’ names.

Specified by:
getAssemblyLineNames in interface ConfigInstanceMBean
Returns:
String array each value representing AssemblyLine name.
Throws:
DIException - if an error occurs while getting the AssemblyLines’ names.

getAssemblyLineInputParameters

public SchemaConfig getAssemblyLineInputParameters(java.lang.String aAssemblyLineName)
                                            throws DIException
Returns the AssemblyLine’s input parameters.

Specified by:
getAssemblyLineInputParameters in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - the name of the AssemblyLine.
Returns:
SchemaConfig representing the schema input of the AssemblyLine.
Throws:
DIException - if an error occurs while getting the AssemblyLine's input parameters.

getAssemblyLineOutputParameters

public SchemaConfig getAssemblyLineOutputParameters(java.lang.String aAssemblyLineName)
                                             throws DIException
Returns the AssemblyLine’s output parameters.

Specified by:
getAssemblyLineOutputParameters in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - the name of the AssemblyLine.
Returns:
SchemaConfig representing the schema output of the AssemblyLine.
Throws:
DIException - if an error occurs while getting the AssemblyLine's output parameters.

getAssemblyLines

public javax.management.ObjectName[] getAssemblyLines()
                                               throws DIException
Returns the names of currently started AssemblyLines of the configuration each represented as ObjectName generated from AssemblyLine’s name and unique code.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
        
        var jmxUrl = new 
                javax.management.remote.JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
        var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
        var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
        mBeans = jmxMBeanServer.queryMBeans(null, null).iterator(); 
        while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName()=="com.ibm.di.api.jmx.mbeans.ConfigInstance")
        break; 
        }
 
        var on = mb.getObjectName();
        var res = jmxMBeanServer.getAttribute(on,"AssemblyLines");
        task.logmsg("Result "+ res);
  }
  
  Sample output: Result ServerAPI:type=AssemblyLine,id=AssemblyLines/test.2
 

Specified by:
getAssemblyLines in interface ConfigInstanceMBean
Returns:
ObjectName array each value representing ObjectName object of an AssemblyLine.
Throws:
DIException - if an error occurs while getting the AssemblyLines’ names.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName)
                                              throws DIException
Starts the specified AssemblyLine asynchronously.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
 
 var jmxUrl = new javax.management.remote.JMXServiceURL(
                "service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
 var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
 var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
 mBeans = jmxMBeanServer.queryMBeans(null, null).iterator();
 while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName() == "com.ibm.di.api.jmx.mbeans.ConfigInstance")
                break;
 }
 
 var on = mb.getObjectName();
 jmxMBeanServer.invoke(on, "startAssemblyLine", new Array("csv2xml"), new Array(
                "java.lang.String"));
 
 

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     java.lang.Boolean aSync)
                                              throws DIException
Starts the specified AssemblyLine.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
 
 var jmxUrl = new javax.management.remote.JMXServiceURL(
                "service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
 var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
 var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
 mBeans = jmxMBeanServer.queryMBeans(null, null).iterator();
 while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName() == "com.ibm.di.api.jmx.mbeans.ConfigInstance")
                break;
 }
 
 var on = mb.getObjectName();
 jmxMBeanServer.invoke(on, "startAssemblyLine", new Array("csv2xml",
                new Boolean("false")), new Array("java.lang.String",
                "java.lang.Boolean"));
 
 

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     Entry aInputData)
                                              throws DIException
Starts the specified AssemblyLine with the given input data asynchronously.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
 
 var jmxUrl = new javax.management.remote.JMXServiceURL(
                "service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
 var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
 var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
 mBeans = jmxMBeanServer.queryMBeans(null, null).iterator();
 while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName() == "com.ibm.di.api.jmx.mbeans.ConfigInstance")
                break;
 }
 
 var on = mb.getObjectName();
 jmxMBeanServer.invoke(on, "s", new Array("csv2xml", work), new Array(
                "java.lang.String", "com.ibm.di.entry.Entry"));
 
 

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     Entry aInputData,
                                                     java.lang.Boolean aSync)
                                              throws DIException
Starts the specified AssemblyLine with the given input data.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
 
 var jmxUrl = new javax.management.remote.JMXServiceURL(
                "service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
 var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
 var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
 mBeans = jmxMBeanServer.queryMBeans(null, null).iterator();
 while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName() == "com.ibm.di.api.jmx.mbeans.ConfigInstance")
                break;
 }
 
 jmxMBeanServer.invoke(on, "startAssemblyLine", new Array("csv2xml", work,
                new Boolean("true")), new Array("java.lang.String",
                "com.ibm.di.entry.Entry", "java.lang.Boolean"));
 
 

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     Entry aInputData,
                                                     AssemblyLineListener aListener,
                                                     java.lang.Boolean aGetLogs)
                                              throws DIException
Starts asynchronously the specified AssemblyLine with the given input data and results listener.

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
aListener - A listener for Entries produced by the AssemblyLine.
aGetLogs - when true the AssemblyLineListener delivers log messages, when false log messages are not delivered.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     Entry aInputData,
                                                     AssemblyLineListener aListener,
                                                     java.lang.Boolean aGetLogs,
                                                     java.lang.Boolean aSync)
                                              throws DIException
Starts the specified AssemblyLine with the given input data and results listener.

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
aListener - A listener for Entries produced by the AssemblyLine.
aGetLogs - when true the AssemblyLineListener delivers log messages, when false log messages are not delivered.
aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     Entry aInputData,
                                                     AssemblyLineListener aListener,
                                                     java.lang.Boolean aGetLogs,
                                                     java.lang.Boolean aSync,
                                                     java.lang.Boolean aGetEntryOnEachCycle)
                                              throws DIException
Starts the specified AssemblyLine with the given input data and results listener.

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
aListener - A listener for Entries produced by the AssemblyLine.
aGetLogs - when true the AssemblyLineListener delivers log messages, when false log messages are not delivered.
aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
aGetEntryOnEachCycle - when true the AssemblyLineListener delivers the current entry on each AssemblyLine cycle, when false the entries are not delivered.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine..
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLineManual

public javax.management.ObjectName startAssemblyLineManual(java.lang.String aAssemblyLineName,
                                                           Entry aInputData)
                                                    throws DIException
Starts the specified AssemblyLine with the given input data in manual mode.

Specified by:
startAssemblyLineManual in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aInputData - Initial Work Entry to run the AssemblyLine with.
Returns:
ObjectName generated from the mbean server domain name and the key property list of the AssemblyLineHandler of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     TaskCallBlock aTcb)
                                              throws DIException
Starts asynchronously the specified AssemblyLine with the given TaskCallBlock.

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aTcb - The TaskCallBlock object to start the AL with.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

startAssemblyLine

public javax.management.ObjectName startAssemblyLine(java.lang.String aAssemblyLineName,
                                                     TaskCallBlock aTcb,
                                                     java.lang.Boolean aSync)
                                              throws DIException
Starts the specified AssemblyLine with the given TaskCallBlock.

Specified by:
startAssemblyLine in interface ConfigInstanceMBean
Parameters:
aAssemblyLineName - The name of the AssemblyLine.
aTcb - The TaskCallBlock object to start the AL with.
aSync - when true the AssemblyLine is started synchronously, when false the AssemblyLine is started asynchronously.
Returns:
ObjectName generated from the name and the unique code of the given AssemblyLine.
Throws:
DIException - if an error occurs when starting the AssemblyLine.

reload

public void reload()
            throws DIException
Reloads the Config Instance with its current configuration.

Specified by:
reload in interface ConfigInstanceMBean
Throws:
DIException - if an error occurs while reloading the server.

stop

public void stop()
          throws DIException
Stops the Config Instance.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
 
 var jmxUrl = new javax.management.remote.JMXServiceURL(
                "service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
 var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
 var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
 mBeans = jmxMBeanServer.queryMBeans(null, null).iterator();
 while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName() == "com.ibm.di.api.jmx.mbeans.ConfigInstance")
                break;
 }
 
 var on = mb.getObjectName();
 jmxMBeanServer.invoke(on, "stop", null, null);
 
 

Specified by:
stop in interface ConfigInstanceMBean
Throws:
DIException - if an error occurs while stopping.

getALLogFileNames

public java.lang.String[] getALLogFileNames(java.lang.String aALName)
                                     throws DIException
Returns the names of all available log files for a given AssemblyLine.

Specified by:
getALLogFileNames in interface ConfigInstanceMBean
Parameters:
aALName - the name of the AssemblyLine.
Returns:
a String array, each of its elements specifying the name of a log file.
Throws:
DIException - if an error occurs while obtaining AssemblyLine's log file names.

getALLastLogFileName

public java.lang.String getALLastLogFileName(java.lang.String aALName)
                                      throws DIException
Returns the name of the log file created on the last run of a given AssemblyLine.

Specified by:
getALLastLogFileName in interface ConfigInstanceMBean
Parameters:
aALName - the name of the AssemblyLine.
Returns:
the name of the log file created on the last AssemblyLine's run.
Throws:
DIException - if an error occurs while obtaining the log file name.

getALLog

public java.lang.String getALLog(java.lang.String aALName,
                                 java.lang.String aLogFileName)
                          throws DIException
Given an AssemblyLine name, and a log file name, retrieves the log of this AssemblyLine, stored in the specified file.

Specified by:
getALLog in interface ConfigInstanceMBean
Parameters:
aALName - the name of the AssemblyLine.
aLogFileName - the name of the log file; no file path should be specified - just the file name.
Returns:
the specified log of the AssemblyLine.
Throws:
DIException - if an error occurs while obtaining AssemblyLine's log.

getALLogLastChunk

public java.lang.String getALLogLastChunk(java.lang.String aALName,
                                          java.lang.String aLogFileName,
                                          java.lang.Integer aKilobytes)
                                   throws DIException
Retrieves the last chunk from a specified AssemblyLine's log file.

Specified by:
getALLogLastChunk in interface ConfigInstanceMBean
Parameters:
aALName - the name of the AssemblyLine.
aLogFileName - the name of the log file; no file path should be specified - just the file name.
aKilobytes - specifies in kilobytes the size of the log's last chunk that will be read.
Returns:
the last chunk of the specified AssemblyLine's log.
Throws:
DIException - if an error occurs while obtaining AssemblyLine's log.

getInstanceBootTime

public java.util.Date getInstanceBootTime()
                                   throws DIException
Returns the Instance boot time.

Specified by:
getInstanceBootTime in interface ConfigInstanceMBean
Returns:
a java.util.Date specifying the date and time the instance was started.
Throws:
DIException - if an error occurs while retrieving instance's boot time.

genObjectName

public static javax.management.ObjectName genObjectName(java.lang.String aConfigInstanceName)
                                                 throws DIException
Generates object name for specified assembly line handler.

Parameters:
aConfigInstanceName - the name of the config instance.
Returns:
the generated object name
Throws:
DIException - if error occurs while creating AssemblyLineHandler JMX object name.

getGlobalUniqueID

public java.lang.String getGlobalUniqueID()
                                   throws DIException
Returns the Config Instance GUID. The GUID is a string value that is unique for each component ever created by a particular TDI Server.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
        
        var jmxUrl = new 
                javax.management.remote.JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
        var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
        var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
        mBeans = jmxMBeanServer.queryMBeans(null, null).iterator(); 
        while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName()=="com.ibm.di.api.jmx.mbeans.ConfigInstance")
        break; 
        }
 
        var on = mb.getObjectName();
        var res = jmxMBeanServer.getAttribute(on,"GlobalUniqueID");
        task.logmsg("Result "+ res);
  }
  
  Sample output:Result 17135304020
 

Specified by:
getGlobalUniqueID in interface ConfigInstanceMBean
Returns:
The Config Instance GUID value.
Throws:
DIException - if an error occurs while retrieving GlobalUniqueID.

getConnectorPoolNames

public java.lang.String[] getConnectorPoolNames()
                                         throws DIException
Returns the names of all Connector Pools in the Config Instance.

Specified by:
getConnectorPoolNames in interface ConfigInstanceMBean
Returns:
String array containing the Connector Pool names.
Throws:
DIException - if an error occurs while retrieving Connector Pool names.

getConnectorPoolSize

public int getConnectorPoolSize(java.lang.String aConnectorPoolName)
                         throws DIException
Returns the size of the specified Connector Pool.

Specified by:
getConnectorPoolSize in interface ConfigInstanceMBean
Parameters:
aConnectorPoolName - the name of the Connector Pool.
Returns:
The current size of the specified Connector Pool.
Throws:
DIException - if an error occurs while retrieving Connector Pool size.

getConnectorPoolFreeNum

public int getConnectorPoolFreeNum(java.lang.String aConnectorPoolName)
                            throws DIException
Returns the number of free Connectors in the specified Connector Pool.

Specified by:
getConnectorPoolFreeNum in interface ConfigInstanceMBean
Parameters:
aConnectorPoolName - the name of the Connector Pool.
Returns:
The number of free Connectors in the specified Connector Pool.
Throws:
DIException - if an error occurs while retrieving Connector Pool free Connectors.

getConnectorPoolConfig

public PoolDefConfig getConnectorPoolConfig(java.lang.String aConnectorPoolName)
                                     throws DIException
Returns the Connector Pool configuration object.

Specified by:
getConnectorPoolConfig in interface ConfigInstanceMBean
Parameters:
aConnectorPoolName - the name of the Connector Pool.
Returns:
The configuration object for the specified Connector Pool.
Throws:
DIException - if an error occurs while retrieving Connector Pool configuration object.

purgeConnectorPool

public int purgeConnectorPool(java.lang.String aConnectorPoolName)
                       throws DIException
Unused Connectors will be released so that the Pool is shrunk to its minimum size.

Specified by:
purgeConnectorPool in interface ConfigInstanceMBean
Parameters:
aConnectorPoolName - the name of the Connector Pool.
Returns:
The size of the Connector Pool after shrinking.
Throws:
DIException - if an error occurs while shrinking the Connector Pool to its minimum size.

getTDIProperties

public javax.management.ObjectName getTDIProperties()
                                             throws java.lang.Exception
Access to the TDIProperies for the particular config.

Specified by:
getTDIProperties in interface ConfigInstanceMBean
Returns:
ObjectName containing the TDI Properties of the Config.
Throws:
java.lang.Exception - if an error occurs while getting TDI Properties

getConfigPath

public java.lang.String getConfigPath()
Retrieves the config path.

Example

 //for local access to jmx layer use: var jmxMBeanServer = com.ibm.di.api.jmx.JMXAgent.getMBeanServer();
        
        var jmxUrl = new 
                javax.management.remote.JMXServiceURL("service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxconnector");
        var jmxConnector = javax.management.remote.JMXConnectorFactory.connect(jmxUrl);
        var jmxMBeanServer = jmxConnector.getMBeanServerConnection();
        mBeans = jmxMBeanServer.queryMBeans(null, null).iterator(); 
        while (mBeans.hasNext()) {
        var mb = mBeans.next();
        if (mb.getClassName()=="com.ibm.di.api.jmx.mbeans.ConfigInstance")
        break; 
        }
 
        var on = mb.getObjectName();
        var res = jmxMBeanServer.getAttribute(on,"ConfigPath");
        task.logmsg("Result "+ res);
  }
  
  Sample output:Result C:\Documents and Settings\Username\My Documents\TDI\rs.xml
 

Specified by:
getConfigPath in interface ConfigInstanceMBean
Returns:
The absolute path of the configuration file.