Specify binding type settings
Use this page to select the type of namespace binding we want. To view this console page, click Environment > Naming > Name space bindings > New.
We can configure a namespace binding for any of the following objects:
- A string constant value
- An enterprise bean (EJB) home installed on a server in the cell
- A CORBA object available from a CosNaming name server
- An object bound in a WAS namespace that is accessible using a JNDI indirect lookup
On this page, select a binding type and then click Next.
Binding type
Type of binding configured.
binding types. Available types include String, EJB, CORBA, or Indirect.
String Select String to configure a namespace binding for a string constant value. To configure a String binding, we need the following information:
- The string constant value
- The target root context for the configured binding (scope)
- The name of the configured binding, relative to the target root context
We can create a file that maps multiple variable names to values and specify the file name for the String value. By default, a name server performs variable substitution on the string value of a String namespace binding. Thus, by default, the com.ibm.websphere.naming.expandStringBindings property is set to true and a name server expands the value of String bindings.
Variable substitution can result in errors or unexpected changes to a string. For example, with variable substitution, a $$ string is expanded as $. We can disable variable substitution and cause the name server to treat the String value as a literal or constant. Create a custom property with Name set to com.ibm.websphere.naming.expandStringBindings and Value set to false. We can define a custom property at the cell, node, server, or name server scope. Create the custom property on a console page for the appropriate scope:
- Cell scope
- Click System administration > Cell > Custom properties > New.
- Node scope
- Click System administration > Nodes > node > Custom properties > New.
- Server scope
- Click Servers > Server Types > WebSphere application servers > server_name > Administration > Custom properties > New.
- Name server scope
- Click Servers > Server Types > WebSphere application servers > server_name > Administration > Server components > Name server > Custom properties > New.
All name servers within the specified custom property scope apply the setting. Settings at a narrower scope override settings at a wider scope. For example, on multiple-server products, settings at the node scope override settings at the cell scope. Select a custom property scope that is at least as wide as the namespace binding scope. Thus, to prevent variable expansion in a cell-scoped String namespace binding, define the custom property at the cell scope. If the custom property has a scope narrower than the namespace binding, only name servers within the scope prevent variable expansion in the String namespace binding. Name servers outside of the scope expand the variable reference and handle the reference differently.
EJB Select EJB to configure a namespace binding for an EJB home installed on a server in the cell. Use a cell-scoped EJB binding to create a fixed qualified lookup name for an enterprise bean. A fixed qualified lookup name is not dependent on the cell topology. To configure an EJB home binding, we need the following information:
- The JNDI name of the EJB server or server cluster where the enterprise bean is deployed
- The target root context for the configured binding (scope)
- The name of the configured binding, relative to the target root context
On stand-alone servers, do not configure an EJB binding that resolves to another server. The name server cannot read configuration data for other servers. That data is required to construct the binding.
CORBA Select CORBA to configure a namespace binding for a Common Object Request Broker: Architecture and Specification (CORBA) object available from a Object Management Group (OMG) Interoperable Naming (CosNaming) name server. Identify a CORBA object bound into an INS compliant CosNaming server with a corbaname URL. The referenced object does not have to be available until the binding is actually referenced by an application. To configure a CORBA binding, we need the following information:
- The corbaname URL of the CORBA object
- An indicator if the bound object is a context or leaf node object (to set the correct CORBA binding type of context or object)
- The target root context for the configured binding
- The name of the configured binding, relative to the target root context
Indirect Select Indirect to configure a namespace binding for an object bound in a WAS namespace that is accessible using a JNDI indirect lookup. We can select Indirect for CORBA objects as well as for javax.naming.Referenceable, javax.naming.Reference, and java.io.Serializable objects. The target object itself is not bound to the namespace. Only the information required to look up the object is bound. Therefore, the referenced name server does not have to be running until the binding is actually referenced by some application.
To configure an indirect JNDI lookup binding, we need the following information:
- The JNDI provider URL of the name server where the object resides
- The JNDI lookup name of the object
- The target root context for the configured binding (scope)
- The name of the configured binding, relative to the target root context
The following information is optional:
- The JNDI initial context factory class name. The default is the WAS initial context factory, com.ibm.websphere.naming.WsnInitialContextFactory.
- Additional properties to pass to the javax.naming.InitialContext constructor.
A cell-scoped indirect binding is useful when creating a fixed qualified lookup name for a bound object so that the qualified lookup name is not dependent on the cell topology.
Related tasks
Configure namespace bindings
Name space binding collection