Problem:
- Product Name: VisiBroker
- Product Version: 7.0 and later
- Product Component: Server Engine
A VisiBroker Server ORB is hosting 3 Objects, namely A, B and C.
You would like to configure a maximum of 500 worker threads to service Object A, and a maximum of just 100 worker threads to service the rest of the Objects (i.e. B and C)
By default, all the worker threads in a Thread Pool can service any Objects (i.e. A, B and C) hosted by the Server ORB.
Is it possible to fix the maximum number of worker threads to service a specific Object?
Resolution:
A possible way to satisfy this requirement is to use VisiBroker's Server Engine feature.
In this solution, you are required to configure the Server Engine properties and programmatically set the SERVER_ENGINE_POLICY in the POAs.
The simple VBC demo for Windows (se_threadMax_demo.zip) shows how this can be done.
In summary, the following are done at the Server side ORB:
- Configure 2 Server Engines, named "ObjectA_Se" and "Other_Se". (Refer to server.props: vbroker.se.default=ObjectA_Se,Other_Se)
- Creates 2 POAs, named POA_A and POA_Other. (Refer to Server.C)
- Associate POA_A to ObjectA_Se by setting the SERVER_ENGINE_POLICY. (Refer to Server.C)
- Associate POA_Other to Other_Se by setting the SERVER_ENGINE_POLICY. (Refer to Server.C)
- Activate "ObjectA" Servant in POA_A. (Refer to Server.C)
- Activate "ObjectB" and "ObjectC" Servants in POA_Other. (Refer to Server.C)
- Set the "threadMax=500" property for ObjectA_Se (Refer to server.props: vbroker.se.ObjectA_Se.scm.scm1.dispatcher.threadMax=500)
- Set the "threadMax=100" property for Other_Se (Refer to server.props: vbroker.se.Other_Se.scm.scm2.dispatcher.threadMax=100)
With this design and configuration:
- A maximum of 500 worker threads in ObjectA_Se's Thread Pool will service only POA_A, which is managing ObjectA.
- A maximum of 100 worker threads in Other_Se's Thread Pool will service only POA_Other, which is managing ObjectB and ObjectC".
Support Incident # 2782865
#Security
#VisiBroker
#serverengine
#Performance
#SERVER_ENGINE_POLICY
#threadMax
#threadpool