As you develop event handlers, use the debugging options in the Design Tool to identify problems. Here are additional conditions you may need to address when developing or maintaining models that have event handlers associated with them.
Debugging tools show results that do not match the object's definition.
Event handler name is displayed in red.
A Reset Needed or Update Needed icon is displayed on the status bar.
Error message: "An error occurred while communicating with the script manager"
Callback method is not allowed within an event handler
Script manager does not start.
Startup synchronization problems when additional JAR files are in scripts\lib folder.
Model is not recognizing source files that have been imported.
Deployment error with saved model
Problems with Web Builder application's event handlers for recordsets and attributes.
This is not a event handler error, and may in fact be the appropriate behavior if an object has an event handler attached to it. Check to see if a lightning bolt () is displayed next to the object in question. This event handler may include logic that overrides or extends the object's behavior as defined in the Design Tool. For example, the recordset test used in the event handler example returns values that include a dollar sign not defined within the recordset itself.
The name of an event handler is displayed in red if a model object has an event handler attached, but the event handler no longer exists (for example, the JAR file containing the handler has been removed, a class file is missing from the JAR file, or the source file was not available when handlers were rebuilt).
You cannot deploy a model with this problem, although the model itself can be saved. If the JAR file or the class file is the problem, simply rebuild the event handlers.
Under certain conditions, you may see one of the following symbols on the Design Tool status bar:
|Update Needed||The event handler JAR files stored on disk no
longer match what is being used by the script manager (in memory).
Click (Reload Event Handlers) to update the JAR files.
|Reset Needed||The script manager cannot respond. If this condition occurs on the Host Integrator Server, the Server initiates a shutdown process. No manual reset is needed.|
If this event handler communication error is displayed while building event handlers, there may be a problem with the port being used by the script manager. Other problem sources are the version of the JRE or the JAR file being used by the script manager.
When a script manager communication error occurs on the Host Integrator Server, this information is sent to the log file and to the client application.
The script manager is implemented as a separate process, and is required for normal server operation. The Design Tool and the Session Server each require a separate instance of the script manager, and the handling of script manager problems in each case differs.
For a given model, all JAR files in the scripts\lib directory will be introspected for available event handlers using the Java reflection API, an introspection utility for Java classes. JAR files that do not contain event handler classes can be placed on the user class path, not in the model's scripts\lib directory, to avoid the overhead of introspection. Introspecting more than 1 MB of JAR files in the model's event handler directory may cause startup synchronization problems.
You can import event handlers from another model. Copying the source files requires a rebuild so that they can be added to the model JAR file.
Resave a model if you make changes to one or more of the event handler files in the model package, even though you have not made changes to the model itself. Reload the model in the Design Tool, validate, and then save the model and redeploy or re-create the package for deployment. Event handler files are automatically included when you deploy a model.
If you use Web Builder to create web applications, there are limitations on recordset and attribute event handlers.