You are here: Reference > Rule types > Connect EJBs > Connect EJB form - Completing the Service tab

  Connect EJB form
Completing the Service tab

  1. About 
  2. New 
  3. Service 
  4. Create 
  5. Remote 
  6. History 
  7. More... 

Use the Service tab to identify the properties of the remote EJB service. Complete this tab first before the Create and Remote tabs.

As you work with the form, the information on this tab is used to connect to the JNDI server and automatically complete fields on the Create and Remote tabs.

JNDI Server

Field

Description

JNDI Server  
Server Name

Select the JNDI server (instance of Data-Admin-Connect-JNDIServer) that identifies the EJB container with the bean you want to connect to. To connect to an EJB through its local interface, select the JNDI server named localEJBs. To connect to a remote EJB through an EJB reference rather than its JNDI name, select the JNDI server named remoteEJBrefs.

Additionally, this field supports the Global Resource Settings syntax (=PageName.PropertyName). The default property name for this field is pyJNDIServerKey. For more information, see Using the Global Resource Settings feature.

Lookup Name

Select a key to use to look up the EJB home object of the remote EJB in the JNDI server.

EJB Home

Field

Description

EJB Home  
Java Class

Enter the name of the EJB Home Interface class to use to create an instance of the EJB client stub. If the JNDI Server and Lookup Name values are valid, this value is automatically filled in.

Create Method

Optional. Enter the type-signature of the EJB Home Interface method that creates an instance of the EJB client stub (for example: create(String, int)). This field is not required if you select the Require use of a valid object handle option of the EJB Remote/Initialize Object field.

EJB Remote

Field

Description

EJB Remote  
Initialize Object

Select how to initialize the EJB client stub:

  • Create a new object every time — performsa JNDI lookup and use the specified Create Method of the EJB Home Interface class to create an instance of the client stub each time this connector is called.
  • If possible, use a valid object handle — try to restore the client stub instance using the value contained in the Object Handle property field. If the object handle value is blank or no longer valid, then perform a JNDI lookup and use the specified Create Method of the EJB Home Interface class to create an instance of the client stub.
  • Require use of a valid object handle — try to restore the client stub instance using the value of the property identified in the Object Handle Property field. If the object handle value is blank or no longer valid, report an error using the status properties. Use this option if the remote method being called must be preceded by an earlier remote method call.
Java Class

Enter the name of the EJB Remote Interface class that defines the remote methods that can be called on the EJB client stub instance. If the JNDI server and lookup names are valid, this value is filled in automatically.

Remote Method

Enter the type-signature of the EJB Remote Interface method that is called each time this connector is called. For example:

getListValue(int)

Finalize Object

Select how to finalize the EJB client stub:

  • Remove object after method call — call the client stub’s Remove method after the remote service method is called.
  • Keep alive and store object handle — store the client stub’s object handle value in the specified Object Handle property after the remote service method is called. Use this option if you intend to call multiple remote methods on a single EJB instance, either for performance reasons, or to maintain the session state between method calls.
Object Handle Property

Optional. Select a Single Value property for storing and/or recovering the serialized object handle of the EJB client stub instance. This field is not required if you select both the Create a new object every time option of the EJB Remote/Initialize Object field and the Remove object after method call option of the EJB Remote/Finalize Object field.

Error Handling and Test

Field

Description

Error Handling  
Status Value Property

Optional. Select a property for reporting the status of the remote service request. You can use the standard property @baseclass.pyStatusValue. The literal value Good identifies success.

Status Message Property

Optional. Select a property for providing more information about errors that occur when processing the remote service request. You can use the standard property @baseclass.pyStatusValue.

Invocation Exception Property

Optional. Select a property of mode Java Object to contain a Java exception, if this connection throws any exceptions at runtime.

Error Handler Flow

Optional. Identify a flow rule that is to be started when this connector rule is started by a flow rule but fails. The default flow rule Work-.ConnectionProblem provides one approach for handling such problems. See Handling connector exceptions.

Test Connectivity

Click this button at any time after you have completed the information on this tab to confirm that the Pega 7 Platform can connect to the JNDI server identified and can validate the Home Interface and Remote Interface.

Note: The Test Connectivity button does not work if either the localEJBs or remoteEJBrefs JNDI server is specified in the Server Name field.

The system presents test results in a separate window, identifying the parameters used in the test, the steps attempted, and the outcome of each step.

Generate Test Client

As a debugging aid, if your Pega 7 Platform is hosted on a Java EE-platform (not Apache Tomcat) you can generate a stand-alone Java client program that calls the EJB.

  1. Save the rule.
  2. Copy a vendor-supplied EJB.jar library to the server and make sure that this library appears in the server's $CLASSPATH Environment variable.
  3. If you changed the $CLASSPATH, stop and restart the Pega 7 Platform.
  4. Open the Connect EJB rule.
  5. Click Generate Test Client.

This produces a Java source file in the ServiceExport directory.

Simulations

Click to create a simulator for this connect rule. See Creating Connect Simulators.

About Connect EJB rules