2014-05-15

[[Managing Implementation Repository|Back]] VisiBroker Naming Service (also known as VisiNaming) is a directory service for CORBA Server Object References. It is implemented based on the OMG CORBA Naming Service specification. All the Object References registered to the Naming Service are associated with logical names. These logical names are usually organized in a hierarchy of Naming Contexts. A Client that needs to access a CORBA Server will query VisiNaming for the target Server's Object Reference using its associated hierarchical logical name. If you have multiple instances of VisiNaming instances running in your distributed deployment environment, managing them will be a challenge. If each VisiNaming instance is registered with many Naming Contexts and Object References, your job of managing the Naming Service Namespace will not be trivial. It will be nice if there is a tool to help you manage the VisiNaming instances and their Namespaces. The VBConsole’s Naming Service Browser may be just the tool you need. It uses a Tree View GUI widget to display the hierarchical Namespace of Naming Contexts and Object References. This allows you to easily browse, select and modify the Namespace. This article will give you an introduction of using the Naming Service Browser to manage VisiNaming. It assumes that you already know the general concept of CORBA Naming Service, and also have some knowledge of using the “nsutil” command line tool to manage VisiNaming. A detailed explanation of the usage of VisiNaming is not in the scope of this article. Please read the chapter on "Using the VisiNaming Service" and "VisiBroker properties" inside the VisiBroker (Java and C++) Developer's Guide in  VisiBroker 8.5 documentation  for more information. Please note that the Naming Service Browser described in this article is based on VisiBroker 8.5. How This Article Is Organized This article is divided into a number of sections. Each section teaches and explains to you a particular feature available in VBConsole that can help you manage VisiNaming. The following is a brief summary of each section. Locating VisiNaming Services The first step to manage the VisiNaming services running in your ORB Domain is to know how to locate and identify them in the VBConsole. This section teaches you how this can be done. Info View This section describes the “Info” View which displays the general configuration settings of VisiNaming.   Contents View This section describes the “Contents” View which displays the hierarchical Naming Service Namespace using a Tree View GUI widget. It teaches you how to browse and manipulate (add, remove and modify) the Naming Contexts and Object References in the Namespace. It also shows you why using the “nsutil” command line tool to manipulate the Namespace is not as intuitive and user friendly as compared to the Naming Service Browser. Storage View This section describes the “Storage” View which displays the backend data storage (e.g. Database) configuration settings of VisiNaming. Naming Service Cluster View This section describes the “Services Cluster” View which displays the VisiNaming cluster configuration settings. Naming Service Cluster Proxy Addresses View This section describes the “Proxies” View which displays the VisiNaming cluster proxy addresses and ports configuration settings. Environment View This section describes the “Environment” View which displays the run-time environment settings of VisiNaming. General Tuning View This section describes the “Tuning” View which displays some general tuning properties available in VisiNaming. SCM Tuning View This section describes the “SCM Tuning” View which displays the current properties and run-time statistics of the Thread Pool and Connection Pool. These information may be useful when you are monitoring and tuning the thread or socket resource consumption by VisiNaming. Dynamic Tuning Sometimes, you may need to tune the Thread Pool or Connection Pool properties immediately in order to resolve some performance issues due to high load in VisiNaming, but without disrupting the production system. This section teaches you how to dynamically tune and modify the Thread Pool and Connection Pool properties of a running VisiNaming instance without restarting it. Dynamic Logging There are times when you urgently need to turn on the VisiNaming debug logs to diagnose some issues, but without disrupting the production system. This section teaches you how to dynamically turn on/off the debug logs and change its log level of a running VisiNaming instance without restarting it. Managing VisiNaming without Smart Agent Sometimes, your VisiNaming services may not be deployed in a Smart Agent Domain. Is VBConsole still able to manage it? This section teaches you how to manage VisiNaming services that are not registered to any Smart Agent Domain. Configuring VisiNaming Service There are many properties available for configuring the various features in VisiNaming, such as backend storage, clustering, logging, caching, etc. Can you remember their exact property names and possible values when you need to configure it? This section teaches you how to make uses of the various Configuration Wizards to generate the required properties in the VisiNaming properties file. Summary A short summary of using VBConsole to manage VisiNaming. Locating VisiNaming Services To locate the VisiNaming services running in your ORB Domain, first you need to expand the “VisiNaming Services” folder in the Navigation Pane of VBConsole. The names of the VisiNaming services will be listed. Next, click the VisiNaming service that you wish to manage. This will display the Naming Service Browser on the right, which contains the configurations and Naming Service Namespace of the selected VisiNaming service. Info View To view the general configuration of the selected VisiNaming service, click the “VisiNaming Service Properties” button in the Content Pane as shown below. In the above example, two VisiNaming services (named “NS1” and “NS2”) are running in the ORB Domain using Smart Agent port 41225. The field names displayed in this View are explained below: Object type : Repository Id of the VisiNaming IDL interface. Host : Host name of VisiNaming. IP address : IP address of VisiNaming. IIOP listener port : The listener port number of VisiNaming. Config file:  The configuration file used by VisiNaming. E.g. nameserv -config naming_229.properties NS2 IOR file:  The “vbroker.naming.iorFile” property setting. Mode:  The “vbroker.naming.slaveMode” property setting. Caching : The “vbroker.naming.cacheOn” property setting. Cache size : The “vbroker.naming.cache.size” property setting. Cache timeout:  The “vbroker.naming.cache.timeout” property setting. Log update:  The “vbroker.naming.logUpdate” property setting. ReadOnly mode:  The “vbroker.naming.readOnly” property setting. The host name or IP address help you locate the VisiNaming services running in your distributed deployment environment. If you need to debug a VisiNaming related issue, knowing the above information will be helpful in your investigation. Contents View To show the Naming Service Namespace of the selected VisiNaming service, click the “Contents view” button as shown below. The hierarchical Namespace of Naming Context and Object Reference nodes are displayed using a Tree View GUI widget, with different icons representing the different type of nodes. You can expand and collapse the Naming Context nodes while browsing the hierarchical Namespace. Please refer to the above screen shot for the description of the different types of icons. Besides displaying the details of the nodes (i.e. Naming Context or Object Reference) in the Namespace, you can also add, remove or modify them. The Naming Service related operations available for each type of node are context sensitive. To access these operations, just select a node and pop up its context menu. Root Context Node The “Root Context” node icon denotes a Naming Context without any parent. The following screen shot shows the information displayed for this type of node and the operations available in its context menu. Information displayed: Smart Agent Host Name:  Host name of the machine which hosts the Smart Agent. Smart Agent IP Address:  IP address of the machine which hosts the Smart Agent. Smart Agent Port:  ORB Domain’s Smart Agent port number. VisiNaming Service Host Name:  Host name of VisiNaming. VisiNaming Service IP Address:  IP address of VisiNaming. VisiNaming Service Listener Port:  The listener port number of VisiNaming. VisiNaming Service Name:  The name assigned to VisiNaming. Naming Service operations available: New Naming Context:  To add a new Naming Context that contains binding to another Naming Context. A “New Naming Context” dialog box pops up for you to specify the stringified name (e.g. Borland.Company) of the new Naming Context. New Naming Component:  To add a new Naming Context that contains binding to an Object Reference. A “New Naming Component” dialog box pops up to help you specify the stringified name (e.g. Server2.Resource) of the new Naming Context and its associated Object Reference. This operation is only applicable if Implicit Object Clustering feature is enabled in VisiNaming (i.e.  Set vbroker.naming.propBindOn=1). Depending on your deployment requirements, you can choose one of the following approaches to specify the Object Reference: Load its IOR file from the Operating System file system with the help of a file browser. Enter the full stringified IOR string. Locate the Object registered in the ORB domain with the help of Location Service. Specify the corbaloc components of the Object. Naming Context (BindingType=ncontext) Node A “Naming Context (BindingType=ncontext)” node icon denotes a Naming Context that contains binding to another Naming Context. The following screen shot shows the information displayed for this type of node and the operations available in its context menu. Information displayed: Context Host Name:  Host name of the machine which hosts the Naming Context. Context ID:  The “id” attribute of the Naming Context. Context IP Address:  IP Address of the machine which hosts the Naming Context. Context Kind:  The “kind” attribute of the Naming Context. Context Listener Port:  The listener port number for the Naming Context. Context Name:  The stringified name (i.e. “ id . kind ”) of the Naming Context. Context Type:  Repository Id of the Naming Context IDL Interface. Naming Service operations available: New Naming Context:  To add a new Naming Context that contains binding to another Naming Context. A “New Naming Context” dialog box pops up for you to specify the stringified name of the new Naming Context. New Naming Component:  To add a Naming Context that contains binding to an Object Reference. A “New Naming Component” dialog box pops up to help you specify the stringified name of the new Naming Context and its associated Object Reference. This operation is only applicable if Implicit Object Clustering feature is enabled in VisiNaming (i.e.  Set vbroker.naming.propBindOn=1). Remove Naming Context:  To remove the selected Naming Context and all its children nodes from the Namespace. As a precaution, a confirmation dialog box pops for you to confirm the operation. Rename Naming Context:  To rename the selected Naming Context. A “Rename Naming Context” dialog box pops up for you to modify the current name. Naming Context (BindingType=nobject) Node A “Naming Context (BindingType=nobject)” node icon denotes a Naming Context that contains binding to an Object Reference. The following screen shot shows the information displayed for this type of node and the operations available in its context menu. Information displayed: Component Host Name:  Host name of the machine which hosts the Naming Context. Component ID:  The “id” attribute of the Naming Context. Component IP Address:  IP Address of the machine which hosts the Naming Context. Component Kind:  The “kind” attribute of the Naming Context. Component Listener Port:  The listener port number for the Naming Context. Component Name:  The stringified name (i.e. “ id . kind ”) of the Naming Context. Component Type:  Repository Id of the Naming Context IDL Interface. Component is Cluster:  State whether Object Clustering is enabled. Naming Service operations available: Configure Naming Component:  To reconfigure a Naming Context that contains binding to an Object Reference. A “Configure Naming Component” dialog box pops up to help you modify the name of the selected Naming Context and its associated Object Reference. This operation is only applicable if Implicit Object Clustering feature is enabled in VisiNaming (i.e.  Set vbroker.naming.propBindOn=1). Remove Component:  To remove the selected Naming Context from the Namespace. A confirmation dialog box pops for you to confirm the operation. Object Reference Node An “Object Reference” node icon denotes an Object Reference that is bound to the Naming Context. The following screen shot shows the information displayed for this type of node and the operations available in its context menu. Information displayed: Object Host Name:  Host name of the machine which hosts the Server Object. Object IP Address:  IP Address of the machine which hosts the Server Object. Object Listener Port:  The listener port number for the Server Object. Object Name:  The name of the Server Object. Object Type:  Repository Id of the Server Object IDL Interface. Naming Service operations available: Remove Object:  To remove the selected Object Reference from the Naming Context. A confirmation dialog box pops up for you to confirm the operation. Common operations for every Node Some operations are available in the context menu of every type of nodes. For example, you can ping a Naming Context or Object Reference by selecting the “Ping CORBA Object…” menu item. You can also view its IOR details by selecting the “IOR Details…” menu item. The following screen shot is an example of the “IOR Details” dialog box of an Object Reference. Using “nsutil” Command Line Tool I will show you a few examples of using the “nsutil” command line tool to modify or simply browse the Naming Service Namespace. Try to compare its user friendliness with the Naming Service Browser when performing similar operations. Example 1:  To show the Server Object Reference that is bound to the Name “MicroFocus.Company/Engineering.Department/Server1.Resource”. You will need to use “printIOR” (another command line tool) to decode and print the IOR string to a human readable format: $ nsutil -VBJprop SVCnameroot=NS2 resolve MicroFocus.Company/Engineering.Department/Server1.Resource IOR:000000000000001c49444c3a42616e6b2f4163636f756e744d616e616765723a312e300000000001000000000000008c000102000000000d31302e31362e31322e3136390000d6be0000002b00504d4300000004000000102f62616e6b5f6167656e745f706f61000000000b42616e6b4d616e616765720000000003564953030000000500070801ff000000000000000000000800000000564953000000000100000018000000000001000100000001050100010001010900000000 $ printIOR IOR:000000000000001c49444c3a42616e6b2f4163636f756e744d616e616765723a312e300000000001000000000000008c000102000000000d31302e31362e31322e3136390000d6be0000002b00504d4300000004000000102f62616e6b5f6167656e745f706f61000000000b42616e6b4d616e616765720000000003564953030000000500070801ff000000000000000000000800000000564953000000000100000018000000000001000100000001050100010001010900000000 Interoperable Object Reference: Type ID: IDL:Bank/AccountManager:1.0 Contains 1 profile. Profile 0-IIOP Profile: version: 1.2 host: 10.16.12.169 port: 54974 Object Key: ServiceId[service=/bank_agent_poa,id={11 bytes: (B)(a)(n)(k)(M)(a)(n)(a)(g)(e)(r)},key_string=%00PMC%00%00%00%04%00%00%00%10/bank_agent_poa%00%00%00%00%0bBankManager] VB Capability component: ORB_TYPE Component: VBJ 4.x Code Sets Component: native char codeset:ISO 8859_1 conversion_code_sets: ISO UTF-8, native wchar codeset:ISO UTF-16 conversion_code_sets: Example 2:  To ping the Object Reference that is bound to the Name “MicroFocus.Company/Engineering.Department/Server1.Resource”: $ nsutil -VBJprop SVCnameroot=NS2 ping MicroFocus.Company/Engineering.Department/Server1.Resource Object MicroFocus.Company/Engineering.Department/Server1.Resource exists. Example 3:  To browse the Namespace starting from the Root Context: $ nsutil -VBJprop SVCnameroot=NS2 list Context: MicroFocus.Company Object : serial_provider_defaultname $ nsutil -VBJprop SVCnameroot=NS2 list MicroFocus.Company Bindings in MicroFocus.Company Context: Engineering.Department $ nsutil -VBJprop SVCnameroot=NS2 list MicroFocus.Company/Engineering.Department Bindings in MicroFocus.Company/Engineering.Department Object : Server1.Resource Example 4:  To bind a new Naming Context (named “SupportLine.Department”) to the Name “MicroFocus.Company”: $ nsutil -VBJprop SVCnameroot=NS2 bind_new_context  MicroFocus.Company/SupportLine.Department Example 5:  To bind a new Object Reference (named “Server2.Resource”) to the Name “MicroFocus.Company/SupportLine.Department”: $ nsutil -VBJprop SVCnameroot=NS2 bind MicroFocus.Company/SupportLine.Department/Server2.Resource IOR:000000000000001c49444c3a42616e6b2f4163636f756e744d616e616765723a312e300000000001000000000000008c000102000000000d31302e31362e31322e313639000086f40000002b00504d4300000004000000102f62616e6b5f6167656e745f706f61000000000b42616e6b4d616e616765720000000003564953030000000500070801ff000000000000000000000800000000564953000000000100000018000000000001000100000001050100010001010900000000 Example 6:  To unbind the object named “Server2.Resource” from the Name “MicroFocus.Company/SupportLine.Department”: $ nsutil -VBJprop SVCnameroot=NS2 unbind MicroFocus.Company/SupportLine.Department/Server2.Resource As compared to using the Naming Service Browser, you can see that using “nsutil” to manage the Namespace has a higher learning curve because you need to remember the exact command, syntax, arguments and the full hierarchical logical name for every Naming Service operation. Its also prone to typo error. However, "nsutil" (being a light weight command line tool) can be easily integrated to an automation script if required. Storage View To view the backend data storage configuration of the selected VisiNaming service, click the “Backend store view” button in the Content Pane as shown below. The field names displayed in this View are explained below: Type:  The “vbroker.naming.backingStoreType” property setting. JDBC driver:  The “vbroker.naming.jdbcDriver” property setting. Database url : The “vbroker.naming.url” property setting. Pool size:  The “vbroker.naming.poolSize” property setting. Min reconnection interval:  The “vbroker.naming.minReconInterval” property setting. Database userId:  The “vbroker.naming.loginName” property setting.  These information are essential while investigating any backend data storage issue. Naming Service Cluster View Multiple instances of VisiNaming can be clustered together for failover and load balancing capability. Please read the section  VisiNaming Service Clusters for Failover and Load Balancing  in the VisiBroker 8.5 Developer's Guide for more information about Naming Service clustering feature. To view the VisiNaming cluster configuration, click the “Services Cluster” button in the Content Pane as shown below. In the above example, the VisiNaming cluster (named “bank_cluster”) comprises of two VisiNaming instances (named “visinaming_one” and “visinaming_two”). Only the cluster name is shown under the “VisiNaming Services” folder in the Navigation Pane. Note that the Naming Service Browser may access anyone of the VisiNaming instances  in the cluster to retrieve the Naming Service Namespace and its configuration information. Please note that this View is designed to display the configuration for “cluster” mode only (i.e.  vbroker.naming.slaveMode=cluster ). Its not designed for the “master/slave” mode (i.e.  vbroker.naming.slaveMode=slave ). The field names displayed in this View are explained below: Services cluster:  The “vbroker.naming.slaveMode” property setting. Services cluster name:  The “vbroker.naming.serverClusterName” property setting. Name:  The “vbroker.naming.serverNames” property setting. IP Address, Port:  The “vbroker.naming.serverAddresses” property setting. If you need to investigate a VisiNaming clustering issue, knowing the address of every VisiNaming instance from the cluster will be essential. Naming Service Cluster Proxy Addresses View If the VisiNaming cluster is configured to use proxy addresses and ports, you can view these settings by clicking the “Proxy addresses view” button in the Content Pane as shown below. Please note that this View is designed to display the configuration for “cluster” mode only (i.e.  vbroker.naming.slaveMode=cluster ). Its not designed for the “master/slave” mode (i.e.  vbroker.naming.slaveMode=slave ). The field names displayed in this View are explained below: Services cluster:  The “vbroker.naming.slaveMode” property setting. Services cluster proxy:  The “vbroker.naming.proxyEnable” property setting. Services cluster name:  The “vbroker.naming.serverClusterName” property setting. Name:  The “vbroker.naming.serverNames” property setting. Proxy IP Address, Proxy Port:  The “vbroker.naming.proxyAddresses” property setting. If you need to investigate a VisiNaming clustering issue that involves proxy addresses, knowing of these settings will be essential. Environment View To view the environment settings of the selected VisiNaming service, click the “Environment Properties” button in the Content Pane as shown below. The field names displayed in this View are explained below: Type:  “Java” or “CPP” implementation. VisiNaming’s implementation is Java. VisiBroker Version:  VisBroker version number used by VisiNaming. Process ID:  Process Id of the VisiNaming instance. Java Home:  Java home directory of the JRE. Version:  Java version number of the JRE. Vendor:  Vendor of the JRE. OS Name:  The Operating System which VisiNaming runs in. Library Path:  The system library path (e.g. LD_LIBRARY_PATH) environment setting. Classpath:  Java CLASSPATH environment setting. These basic information are usually needed to know the run-time environment when investigating any VisiNaming issue. General Tuning View To view the general tuning properties of the selected VisiNaming service, click the “Tuning Properties” button in the Content Pane as shown below. The field names displayed in this View are explained below: Fragment size:  The “vbroker.orb.fragmentSize” property setting. Stream chunk size:  The “vbroker.orb.streamChunkSize” property setting. Buffer cache timeout:  The “vbroker.orb.bufferCacheTimeout” property setting. Garbage collection timeout:  The “vbroker.orb.gcTimeout” property setting. These property settings may be useful when tuning VisiNaming. SCM Tuning View To view the Server Connection Manager (SCM) tuning properties of VisiNaming, click the “SCM tuning properties view” button in the Content Pane. Next choose the component (i.e. “Dispatcher”, “Listener” or “Manager”) that you wish to view from the “Select SCM characteristic” drop-down list. Please read the chapter on  VisiBroker properties  inside the VisiBroker Java Developer's Guide for the description of the properties and run-time statistic mentioned in this section. The common Server Engine field names displayed in every component are explained below: Status:  State of Server Engine, “Active” or “Inactive”. IP address:  The “vbroker.se. se_name .host” property setting. Proxy IP address:  The “vbroker.se. se_name .proxyHost” property setting. Thread Pool Tuning Properties & Statistics To view the Thread Pool tuning properties and statistics in VisiNaming, first select “Dispatcher” from the drop-down list, and then select the SCM name (e.g. “iiop_tp”) from the list box as shown below. These properties and run-time statistics show the current configuration and state of VisiNaming's Thread Pool. They may be useful when you are monitoring and tuning the thread resource consumption by VisiNaming. The field names are explained below: Type:  The “vbroker.se. se_name .scm. scm_name .dispatcher.type” property setting. Minimum:  The “vbroker.se. se_name .scm. scm_name .dispatcher.threadMin” property setting. Maximum:  The “vbroker.se. se_name .scm. scm_name .dispatcher.threadMax” property setting. Maximum idle:  The “vbroker.se. se_name .scm. scm_name .dispatcher.threadMaxIdle” property setting. Allocated:  The “vbroker.se. se_name .scm. scm_name .dispatcher.allocatedThreads” run-time statistic. Idle:  The “vbroker.se. se_name .scm. scm_name .dispatcher.idleThreads” run-time statistic. Idle timeout:  The “vbroker.se. se_name .scm. scm_name .dispatcher.idledTimeoutThreads” run-time statistic. In use:  The “vbroker.se. se_name .scm. scm_name .dispatcher.inUseThreads” run-time statistic. Listener Tuning Properties To view the port settings of VisiNaming, first select “Listener” from the drop-down list, and then select the SCM name (e.g. “iiop_tp”) from the list box as shown below. These properties show the current Listener's configuration of VisiNaming. The field names are explained below: Type:  The “vbroker.se. se_name .scm. scm_name .listener.type” property setting. Port:  The “vbroker.se. se_name .scm. scm_name .listener.port” property setting. Proxy port:  The “vbroker.se. se_name .scm. scm_name .listener.proxyPort” property setting. Port range:  The “vbroker.se. se_name .scm. scm_name .listener.portRange” property setting. GIOP version:  The “vbroker.se. se_name .scm. scm_name .listener.giopVersion” property setting. Connection Pool Tuning Properties & Statistics To view the current Connection Pool tuning properties and statistics of VisiNaming, first select “Manager” from the drop-down list, and then select the SCM name (e.g. “iiop_tp”) from the list box as shown below. These properties and run-time statistics show the current configuration and state of VisiNaming Connection Pool. They may be useful when you are monitoring and tuning the socket resource consumption by VisiNaming. The field names are explained below: Type:  The “vbroker.se. se_name .scm. scm_name .manager.type” property setting. Active:  The “vbroker.se. se_name .scm. scm_name .manager.activeConnections” run-time statistic. Maximum:  The “vbroker.se. se_name .scm. scm_name .manager.connectionMax” property setting. Idle timeout:  The “vbroker.se. se_name .scm. scm_name .manager.idledTimeoutConnections” run-time statistic. Idle:  The “vbroker.se. se_name .scm. scm_name .manager.idleConnections” run-time statistic. Maximum idle:  The “vbroker.se. se_name .scm. scm_name .manager.connectionMaxIdle” property setting. In use:  The “vbroker.se. se_name .scm. scm_name .manager.inUseConnections” run-time statistic. Dynamic Tuning In the previous section on  SCM Tuning View , you have learnt how to view the properties and monitor the run-time statistics of the Thread Pool and Connection Pool. However, you cannot change the properties in that View. In order to tune these properties dynamically without restarting VisiNaming, you need to utilize its SCM Container. To access the VisiNaming’s SCM Container, follow the steps below: Step 1:  Navigate to the corresponding VisiNaming’s Server Manager (e.g. NS2) in the Navigation Pane. The Server Manager Browser is displayed on the right. Step 2:  Click the “Contents view” button. The hierarchy of Containers are displayed. Step 3:  Navigate to the specific SCM Container (e.g. ORB/ServerEngines/iiop_tp/iiop_tp) in the Server Manager Browser. The current property settings and run-time statistics of the Thread Pool and Connection Pool are displayed at the bottom half of the Server Manager Browser. In this example, the VisiNaming’s SCM Container name is “iiop_tp”. The current Thread Pool settings allows unlimited number of worker threads to be created (i.e.  vbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax=0 ) to service requests. The current Connection Pool settings does not restrict the number of connections (i.e. vbroker.se.iiop_tp.scm.iiop_tp.manager.connectionMax=0 ) from Clients. The current settings may potentially cause out of memory issue if a large number of Clients are connecting and sending requests to VisiNaming simultaneously. To limit the number of worker threads servicing the requests to only 100, select the “ vbroker.se.iiop_tp.scm.iiop_tp.dispatcher.threadMax ” property and then click the “Configure Server Manager Properties” button to pop up a dialog box as show below. Change the value from “0” to “100” and click "OK". Similarly, to restrict the number of connections VisiNaming can accept to 200, you can use the same approach to change the value of the “ vbroker.se.iiop_tp.scm.iiop_tp.manager.connectionMax ” property from “0” to “200”. You can save all the changes made to the VisiNaming properties file by clicking the “Update server and save properties to file” button. The modified properties file can be loaded by VisiNaming in future sessions. Those properties with “Read-only” Mode are mostly run-time statistics and cannot be changed. Dynamic Logging Sometime, in order to diagnose some run-time issues with VisiNaming, you may need to turn on the logs. The logs may provide some useful information that can help you debug and find the root cause of the issue. However, in some situations, you may not be allowed to restart VisiNaming to turn on the logs as this may disrupt the production system. Fortunately, you can use VBConsole to turn on/off the logs and change the verbosity level dynamically via its “DebugLogger” Container without restarting VisiNaming. To access the VisiNaming’s “DebugLogger” Container, follow the steps below: Step 1:  Navigate to the corresponding VisiNaming’s Server Manager (e.g. NS2) in the Navigation Pane. The Server Manager Browser is displayed on the right. Step 2:  Click the “Contents view” button. The hierarchy of Containers are displayed. Step 3:  Navigate to the “DebugLogger” Container (i.e. ORB/DebugLogger) in the Server Manager Browser. The current logging property settings are displayed at the bottom half of the Server Manager Browser. In this example, the VisiNaming instance NS2 is currently configured with a rolling Appender (i.e.  vbroker.log.default.appenders=rolling ) so that the logs are written to rolling log files. Its logging is disabled (i.e. vbroker.log.enable=false ) and the log level is set to “INFO” (i.e. vbroker.log.logLevel=INFO). To turn on logging, select the “ vbroker.log.enable ” property and then click the “Configure Server Manager Properties” button to pop up a dialog box as show below. Change the value from “false” to “true” and click "OK". This change will take effect immediately, and the logs will be written to the rolling log file. Similarly, to print more verbose debug logs, use the same approach to change  the value of “ vbroker.log.logLevel ” from “INFO” to “DEBUG”. Please note that only changes to properties with “R/W” Mode can take effect immediately. Those properties with “Session” Mode can be changed, but does not have immediate effect. You can save all the changes to the VisiNaming properties file by clicking the “Update server and save properties to file” button. The modified properties file can be loaded by VisiNaming in future sessions. Managing VisiNaming without Smart Agent So far, you’ve learnt how to manage VisiNaming services belonging to a Smart Agent Domain. However, VisiNaming can also be deployed without the Smart Agent feature by setting the property “ vbroker.agent.enableLocator=false ”. To manage this type of VisiNaming deployment, you must explicitly add it to the “My Services” folder by selecting its context menu item “New Naming Service Reference”. A “New Naming Service Reference” dialog box will pop up to let you specify the Object Reference of the VisiNaming instance. Depending on your deployment requirements, you can use one of the following approaches to specify the VisiNaming Object Reference: Load the VisiNaming’s IOR file from the Operating System file system with the help of a file browser. Enter the full stringified IOR string of VisiNaming. Locate the VisiNaming registered in the Smart Agent Domain with the help of Location Service (only if Smart Agent is used). Specify the corbaloc components of the VisiNaming. The following Naming Service Browser example shows two VisiNaming instances (NS1 and NS2) added to the “My Services” folder. Notice that the “VisiNaming Services” folder is empty because the Smart Agent feature is disabled. You can still access every View and perform all the VisiNaming management operations without Smart Agent. Similarly, you can also add the corresponding VisiNaming Server Manager to “My Services” by selecting its context menu item “New Server Manager Reference”. You should specify the Object Reference of the VisiNaming in the “New Server Manager Reference” dialog box. You can remove a service under “My Services” by selecting its context menu item “Remove Reference…”. A dialog box will pop up for you to confirm this action. Configuring VisiNaming Service VisiNaming can be configured using a properties file. The “VisiBroker Properties File Editor” can help you configure the VisiNaming properties file. To launch this Editor, go to the “Tools” pull-down menu in VBConsole. It helps inexperienced users, who are not familiar with the VisiNaming property names, their possible values and syntax, edit the properties file. Experienced users can still choose to manually edit the properties file with their preferred text editor. To start editing a VisiNaming properties file, you either open an existing file or create a new file under the “File” pull-down menu in the “VisiBroker Properties File Editor”. Next, choose the required VisiNaming configuration Wizard under the “Wizard” pull-down menu. There are four Wizards to choose from. Each Wizard is used to configure different aspect of VisiNaming as explained in the following sections. Please read the chapter on  Using the VisiNaming Service  and  VisiBroker properties  inside the VisiBroker Developer's Guide for the description and usage of these properties. VisiNaming Service Configuration Wizard This Wizard is used for some general configuration of VisiNaming. Menu location: Wizard - VisiNaming Service - VisiNaming Service Configuration Wizard This Wizard helps you configure the following properties: vbroker.se.iiop_tp.scm.iiop_tp.listener.port vbroker.agent.enableLocator vbroker.agent.port vbroker.naming.cacheOn vbroker.naming.cache.size vbroker.naming.cache.timeout vbroker.naming.cache.connectString vbroker.naming.iorFile vbroker.naming.propBindOn vbroker.naming.readOnly Backend Storage Wizard This Wizard is used for the Backend Storage or Database configuration of VisiNaming. Menu location: Wizard - VisiNaming Service - Backend Storage Wizard This Wizard helps you configure the following properties: vbroker.naming.backingStoreType vbroker.naming.jdbcDriver vbroker.naming.url vbroker.naming.jdsSvrPort vbroker.naming.poolSize vbroker.naming.minReconInterval vbroker.naming.loginName vbroker.naming.loginPwd The “Test Connection” button is used to verify whether the configurations and login credentials you have entered can connect to the Database. For this feature to work, you must ensure the Database’s drivers are present the CLASSPATH of VBConsole. In this example, we are using JDatastore Database. Hence you must specify JDatastore’s JDBC drivers in the CLASSPATH when launching VBConsole as shown below: $ vbconsole –classpath $VBROKERDIR/lib/jds.jar:$VBROKERDIR/lib/jdsremote.jar Master/Slave Configuration Wizard This Wizard is used to configure VisiNaming Service in Master/Slave mode. Menu location: Wizard - VisiNaming Service - Master/Slave Configuration Wizard This Wizard helps you configure the following properties: vbroker.naming.enableSlave vbroker.naming.slaveMode vbroker.naming.masterServer vbroker.naming.masterHost vbroker.naming.masterPort vbroker.naming.slaveServer vbroker.naming.slaveHost vbroker.naming.slavePort vbroker.naming.proxyEnable vbroker.naming.masterProxyHost vbroker.naming.masterPortPort vbroker.naming.slaveProxyHost vbroker.naming.slavePortPort VisiNaming Services Cluster Configuration Wizard This Wizard is used to configure VisiNaming Service in Cluster mode. Menu location: Wizard - VisiNaming Service - Services Cluster Configuration Wizard This Wizard helps you configure the following properties: vbroker.naming.enableSlave vbroker.naming.slaveMode vbroker.naming.serverClusterName=bank_cluster vbroker.naming.serverNames vbroker.naming.serverAddresses vbroker.naming.proxyEnable vbroker.naming.proxyAddresses VisiNaming Debug Log Configuration Wizard This Wizard is used to configure the debug logging properties in VisiNaming. Menu location: Wizard - Debug/Log - VisiBroker 7.x - VisiNaming Service Please read the section on  Debug Logging Properties  in the VisiBroker Java Developer's Guide for the description of these debug logging properties. This Wizard helps you configure the following logging properties: vbroker.log.enable vbroker.log.logLevel vbroker.log.enableSigHandler (Not applicable to VisiNaming, only applicable to VBC++ ORB) vbroker.logging.enableNDC vbroker.log.default.filter.register vbroker.log.default.filter. source-name .enable vbroker.log.default.filter. source-name .logLevel vbroker.log.default.appenders vbroker.log.default.appender. appender-inst-name .layout If “rolling” Appender is selected, you can use the “Configure Rolling Log Appender” dialog box for its configuration. This dialog box helps you configure the following Appender properties: vbroker.log.default.appender.rolling.logDir vbroker.log.default.appender.rolling.fileName vbroker.log.default.appender.rolling.maxBackupIndex vbroker.log.default.appender.rolling.maxFileSize After the Wizards have generated the properties, you can still modify them or add other properties that are currently not handled by the Wizards using the integrated text editor in “VisiBroker Properties File Editor”. The following example shows a properties file (naming_one.properties) being configured in VisiNaming Service Cluster mode. When you have made the final modification to the properties, save the properties file. A VisiNaming instance can load this file by using the “-config” option as shown below: $ nameserv –config naming_one.properties visinaming_one Summary The VBConsole allows you to easily manage your distributed VisiNaming services from a single GUI. The integrated Naming Service Browser, Server Manager Browser and VisiNaming Configuration Wizards can facilitate you in performing the common Naming Service management tasks such as viewing the current configurations; monitoring the run-time statistics of the Thread and Connection Pools and tune their properties; browse and manipulate the hierarchical Naming Service Namespace; turn on/off the debug logs and change its log level; configure the VisiNaming properties file; etc. [[Managing Implementation Repository|Back]]

Show more