!--a11y-->
The RMI-P4 Object Broker 
In RMI-P4, an object of type P4ObjectBroker is responsible for actually dispatching client requests to the remote object and directing the results (or the exceptions) of the remote method call back to the client. This behavior is based on the Broker architecture as defined by the CORBA specification. The P4ObjectBroker implements logic for allocating requests to the appropriate object on the server side, based on the object identifier that comes with the request.
The P4ObjectBroker is an abstract class that has implementations tailored for both cluster and non-clustered environments. A single instance of this object can exist within a JVM.
The Broker object is initialized using the following static init methods:
· For default initialization, use P4ObjectBroker.init()
· For initialization with custom parameters, use P4ObjectBroker.init(Properties prop)
Usually, you do not have to initialize the Broker object explicitly. The system does this for you when you obtain InitialContext to connect the client to the remote object.

Once the P4ObjectBroker is initialized, the instance remains single for the corresponding JVM. If the init() method is called again, it returns the same instance.
The P4ObjectBroker is removed when the P4ObjectBroker.close() method is called.
If you initialize the P4ObjectBroker object manually, you can provide the following initialization parameters:
P4ObjectBroker Initialization Parameters
|
Parameter Name |
Description |
|
CALL_TIMEOUT |
Sets the timeout for the client call. |
|
TRANSPORT_TYPE |
Specifies the transport protocol to be used for communication between the client and the server. The default is None (that is, P4 protocol is used). Other options are: HTTP Tunneling, SSL, or HTTPS. |
|
SERVER_SOCKET_PORT |
Specifies the port, on which Broker listens for client connections. |
