Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE

Managing Naming Service

Managing Naming Service

[[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 running in your distributed deployment environment, managing them will be a challenge. Furthermore, if each VisiNaming instance is registered with many Naming Contexts and Object References in its Namespace, your job of managing the 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 and other tools within VBConsole 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 VBConsole and its various tools and browsers 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.

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.

This section describes the “Info” View which displays the general configuration settings of VisiNaming.

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.

This section describes the “Storage” View which displays the backend data storage (e.g. Database) configuration settings of VisiNaming.

This section describes the “Services Cluster” View which displays the VisiNaming cluster configuration settings.

This section describes the “Proxies” View which displays the VisiNaming cluster proxy addresses and ports configuration settings.

This section describes the “Environment” View which displays the run-time environment settings of VisiNaming.

This section describes the “Tuning” View which displays some general tuning properties available in VisiNaming.

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.

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.

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.

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.

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.

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. Please read [[Managing VisiBroker Services with VisiBroker Console|this article]] if you need a general introduction of VBConsole.

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.

VisiNaming Info View

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.

VisiNaming Contents View

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 detailed information of the nodes (i.e. Naming Context or Object Reference) in the Namespace, the Naming Service Browser also allows you to 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.

VisiNaming Contents View - Root Context

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 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 let 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).

New Naming Component

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.

VisiNaming Contents View - Naming Context (BindingType=ncontext)

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 let 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 this 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.

VisiNaming Contents View - Naming Context (BindingType=nobject)

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 this 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.

VisiNaming Contents View - Object Reference

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 this 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.

IOR Details

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 as shown below.

VisiNaming Storage View

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 as shown below.

VisiNaming Service Cluster View

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 as shown below.

VisiNaming Proxies Addresses View

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 as shown below.

VisiNaming Environment View

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 as shown below.

VisiNaming General Tuning

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 as shown below. 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.

VisiNaming SCM Tuning View - Dispatcher

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.

VisiNaming SCM Tuning View - Listener

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 modify 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 as shown below. The Server Manager Browser is displayed on the right.

Step 2: Click the “Contents view” button. The hierarchy of Containers of VisiNaming 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.

VisiNaming Server Manager Browser - SCM Container

In this example, the VisiNaming’s SCM Container name is “iiop_tp”. The current Thread Pool settings allow 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.

Configure Server Manager Properties - threadMax

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 similar 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 as shown below. The Server Manager Browser is displayed on the right.

Step 2: Click the “Contents view” button. The hierarchy of Containers in VisiNaming 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.

VisiNaming Server Manager Browser - DebugLogger Container

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.

Configure Server Manager Properties - vbroker.log.enable

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 similar 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.

New Naming Service Reference

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.

Naming Service Browser (without Smart Agent)

You can access every View and perform all the VisiNaming management operations without Smart Agent. Notice that the “VisiNaming Services” folder is now empty because the Smart Agent feature is disabled. 

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

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

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

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.masterProxyPort
  • vbroker.naming.slaveProxyHost
  • vbroker.naming.slaveProxyPort

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

VisiNaming Service 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.

VisiNaming Debug Log Configuration Wizard

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.

Configure Rolling Log Appender

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.

VisiNaming Properties File Editor

When you have made the final modification to the properties, save the properties file. A VisiNaming instance can load this properties file by using the “-config” option as shown below:

$ nameserv –config naming_one.properties visinaming_one

Summary

The VBConsole and its tools allow you to easily manage your distributed VisiNaming services from a single GUI. The integrated Naming Service Browser, Server Manager Browser, VisiBroker Properties File Editor 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]]

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Version history
Revision #:
1 of 1
Last update:
‎2014-05-15 11:06
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.