Gen Web client calling EJB server TIRM157E and "java.lang.outofmemory"
search cancel

Gen Web client calling EJB server TIRM157E and "java.lang.outofmemory"

book

Article ID: 372467

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

Testing Gen 8.6 Web Generation client calling Gen EJB server. After deploying a single .ear file with both to WebSphere when the client calls the server it gives error:

TIRM157E: An unexpected exception was encountered during processing
java.lang.OutOfMemoryError: Java heap space

A "CMIDBUG=ON" trace file has been provided.

Environment

Gen 8.6 Java runtime

Cause

The trace file provided shows:
**********
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: DataBundle::loadPropertyBundle(): found CMIDEBUG = ON c:\tr.txt in property file: "commcfg"
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: DataBundle::loadPropertyBundle(): No CACHETIMEOUT value found, assuming NEVER
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: DataBundle::getString(): Found a match for key: "*" data: "TCP 192.0.2.1 9080"
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: CommConfig.getDataExact(): Found a match for key: '*', data retrieved = 
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: TCP 192.0.2.1 9080
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: TranData.getTranEntry(): Found entry in commcfg.properties file for trancode: T191
07/14/24-01:05:05:942[com.ca.gen85.smrt.ServletSession]: TCP 192.0.2.1 9080
**********

The '"*" data: "TCP 192.0.2.1 9080"' in the trace file indicates that the Web Client is trying to connect to the EJB Server using TCP i.e. the commcfg.properties file being used must have this line:
*=TCP 192.0.2.1 9080

Trying to connect a Gen Web Client to a Gen EJB Server using TCP is not supported i.e. only EJBRMI or WS (Web service) is supported.

Support tested the same Web Client to EJB Server "TCP" scenario using Gen 8.6 with WebSphere and although they received no "java.lang.OutOfMemoryError: Java heap space" error the connection failed as expected with:
TIRM158E: A communication error was encountered on the client
[Function: TCPIPConnection::readData]Connection unexpectantly closed by server

Resolution

Using WS is the easiest option to connect the Web client to the EJB server but do to that requires generating the EJB with TP Monitor "EJB Web Services" instead of "EJB".
Then use this line in the  commcfg.properties file:
*=WS http://192.0.2.1:9080 L
(The comments in the commcfg.properties file also provide more information).

Additional Information