Creating and Configuring Multiple Transaction Servers per Role/User

This section describes a configuration where multiple Real Time Events can be processed by multiple Transaction Server instances within the same JD Edwards EnterpriseOne environment. You can process events by Role/User to enable specific users to have their events processed by a specific Transaction Server. This setup is similar to that in the previous section, Creating and Configuring Multiple Transaction Servers per Environment. Instead of separating the events by environment you are separating the Real Time Event messages by Role/User.

Multiple Transaction Servers

In order to support the separation of the F907* tables per Role/User, you must install an additional Transaction Server per User or Role combination. For example, you have set up a role for processing Sales Orders and another role for processing all other Real Time Events. In this case, you would need an additional Transaction Server for each role addition.

To configure the system to route Real Time Events to specific Transaction Servers based on the JD Edwards EnterpriseOne Role/User user that is generating the event:

  1. From JD Edwards EnterpriseOne, create a new Role which will include a group of users that will initiate the Real Time Event messages.

  2. Create these tables in the same environment datasource (Business Data - PROD) or create a custom Data Source (for example, TS2 / PD920):

    • F90710 - Event table

    • F90730 - Unique sequence table

  3. Copy these tables from the System datasource to the same environment datasource you used in Step 2:

    • F90706 - Event Subscriber

    • F90707 - Event Subscription

    • F907071 - Subscribed Events

    • F907072 - Subscribed Environments

    • F90708 - Event Sequence

    These tables contain the subscriber information and whether they are active or not. It is important to note that when you copy these tables, whenever you want to make changes to the subscriber information you must ensure you are logged in as the appropriate user. This is required to ensure you are making changes to the correct table. If you do not copy these tables, you will continue to see errors in the Transaction Server log where events cannot be delivered to all the subscribers, although this does not affect the delivery of the events to the correct queue.

  4. Create new OCM mappings for all the tables listed in Steps 2 and 3 for the new Role (for example, role associated with the PD920 environment and the copied F90710 table and the role associated with the PD920 environment and the F90730 table) to point to Business Data - PROD. You must make mappings for both SYSTEM and Server Map.

  5. On a JD Edwards EnterpriseOne client machine, run the program to create the table trigger on the new F90710 table. From a command prompt, navigate to this directory:

    e920\system\bin32\

  6. From the above directory, run this command:

    dbtemplates.exe -create

    When prompted ensure you log in as the new user (assigned to your new role) so that the program uses the new OCM mappings to locate the correct table in which to create the new trigger.

    Henceforth when logging in as a user defined by this role, a generated Real Time Event sends the message into the appropriate F90710 table and updates the F90730 table.

  7. Install a new Transaction server that will be used to process the events for each new Role/User.

  8. Configure the newly installed Transaction Server with one of the users in the new Role as the bootstrap user.

  9. Process a transaction that triggers an event for the new Role.

  10. Start the newly installed Transaction Server and check the queue to make sure the event was delivered to the new Transaction Server.

  11. Verify the previous configuration still functions as expected by logging in as any user not belonging to the new Role and generate an Event and see that the message goes into the F90710 (System - 920) and is delivered to the original Transaction Server.