Administering the Object Request Broker (ORB)

Payara Server supports a standard set of protocols and formats that ensure interoperability. Among these protocols are those defined by CORBA. The Object Request Broker (ORB) is the central component of CORBA. The ORB provides the required infrastructure to identify and locate objects, handle connection management, deliver data, and request communication. This chapter describes how to configure the ORB and the IIOP listeners.

Instructions for accomplishing the tasks in this chapter by using the Administration Console are contained in the Administration Console online help.

About the ORB

The Common Object Request Broker Architecture (CORBA) model is based on clients requesting services from distributed objects or servers through a well-defined interface by issuing requests to the objects in the form of remote method requests. A remote method request carries information about the operation that needs to be performed, including the object name (called an object reference) of the service provider and parameters, if any, for the invoked method. CORBA automatically handles network programming tasks such as object registration, object location, object activation, request de-multiplexing, error-handling, marshalling, and operation dispatching.

Configuring the ORB

A CORBA object never talks directly with another. Instead, the object makes requests through a remote stub to the Internet Inter-Orb Protocol (IIOP) running on the local host. The local ORB then passes the request to an ORB on the other host using IIOP. The remote ORB then locates the appropriate object, processes the request, and returns the results.

IIOP can be used as a Remote Method Invocation (RMI) protocol by applications or objects using RMI-IIOP. Remote clients of enterprise beans (EJB modules) communicate with Payara Server by using RMI-IIOP.

Administering IIOP Listeners

An IIOP listener is a listen socket that accepts incoming connections from the remote clients of enterprise beans and from other CORBA-based clients. Multiple IIOP listeners can be configured for Payara Server. For each listener, specify a port number (optional; default 1072), a network address, and security attributes (optional). If you create multiple listeners, you must assign a different port number for each listener.

To Create an IIOP Listener

Use the create-iiop-listener subcommand in remote mode to create an IIOP listener.

  1. Ensure that the server is running. Remote subcommands require a running server.

  2. Create an IIOP listener by using the create-iiop-listener subcommand. Information about the properties for the subcommand is included in this help page.

  3. To apply your changes, restart Payara Server. See To Restart a Domain.

Example 15-1 Creating an IIOP Listener

asadmin> create-iiop-listener --listeneraddress 192.168.1.100
--iiopport 1400 sample_iiop_listener
Command create-iiop-listener executed successfully.
shell

This example creates an IIOP listener named sample_iiop_listener.

To List IIOP Listeners

Use the list-iiop-listeners subcommand in remote mode to list the existing IIOP listeners.

  1. Ensure that the server is running. Remote subcommands require a running server.

  2. List the IIOP listeners by using the list-iiop-listeners subcommand.

Example 15-2 Listing IIOP Listeners

asadmin> list-iiop-listeners
orb-listener-1
SSL
SSL_MUTUALAUTH
sample_iiop_listener
Command list-iiop-listeners executed successfully.
shell

This example lists all the IIOP listeners for the server instance.

To Update an IIOP Listener

  1. List the IIOP listeners by using the list-iiop-listeners subcommand.

  2. Modify the values for the specified IIOP listener by using the set subcommand. The listener is identified by its dotted name.

Example 15-3 Updating an IIOP Listener

asadmin> set "server.iiop-service.iiop-listener.SSL.enabled"
server.iiop-service.iiop-listener.SSL.enabled=false
Command set executed successfully.
shell

This example changes SSL from enabled to disabled.

To Delete an IIOP Listener

Use the delete-iiop-listener subcommand in remote mode to delete an IIOP listener.

  1. Ensure that the server is running. Remote subcommands require a running server.

  2. List the IIOP listeners by using the list-iiop-listeners subcommand.

  3. Delete an IIOP listener by using the delete-iiop-listener subcommand.

  4. To apply your changes, restart Payara Server. See To Restart a Domain.

Example 15-4 Deleting an IIOP Listener

asadmin> delete-iiop-listener sample_iiop_listener
 Command delete-iiop-listener executed successfully.
shell

This example deletes the IIOP listener named sample_iiop_listener.

Configuring the New ORB Fragment Processing

The aim of this functionality is to enhance the concurrency mechanism through a new implementation utilizing the Lock API. The advantages of employing this approach in instead of the default one (which relies on synchronized code blocks) are as follows:

  • Fine-Grained Control: We are employing explicit locking and unlocking, which is more exact and efficient than the implementation utilizing synchronized blocks.

  • Use of condition variables: This enables threads to await the fulfillment of specific conditions prior to advancing.

  • Multiple Object Locking: A lock can be shared among various class instances, facilitating more flexible management of synchronization between these instances.

The Fragment processing happens when a big message is processed by the ORB. If the ORB message exceeds the default size of 1024 bytes, then the internal fragmentation of the message starts.

To configure the new functionality use the following properties:

Table 1. New ORB Fragment Processing Properties
Property Description

com.sun.corba.ee.protocol.enableNewFragmentProcess

This property will enable the new fragment processing. By default, this property is set as false to use the older implementation based on synchronized blocks of code.

com.sun.corba.ee.protocol.newFragmentEmptyConditionTimeout

You can use this property to change the wait timeout for fragments of a request. By default, the timeout is 10000 milliseconds. This property only takes effect if the com.sun.corba.ee.protocol.enableNewFragmentProcess is enabled. The unit for this property is milliseconds.

Back to Top