IBM App Connect Enterprise需求:请求发送时存储节点等信息至数据库的ESQL代码
IBM App Connect Enterprise 请求/响应数据入库的ESQL实现
目标表结构(示例)
先创建用于存储数据的数据库表(以DB2为例):
CREATE TABLE REQUEST_RESPONSE_LOG ( LOG_ID INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, INTEGRATION_NODE VARCHAR(100) NOT NULL, SERVER_NAME VARCHAR(100) NOT NULL, APPLICATION_NAME VARCHAR(100) NOT NULL, REQUEST_DATA CLOB, RESPONSE_DATA CLOB, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
ESQL实现代码
将以下代码放置在Compute节点中,确保节点已配置对应数据库数据源(通过节点Database属性指定数据源名称):
CREATE COMPUTE MODULE RequestResponseLogger CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- 1. 获取ACE运行时元数据 DECLARE integrationNodeName CHAR(100); DECLARE serverName CHAR(100); DECLARE applicationName CHAR(100); SET integrationNodeName = Environment.Variables.MQSI_INTEGRATION_NODE_NAME; SET serverName = Environment.Variables.MQSI_SERVER_NAME; SET applicationName = Environment.Variables.MQSI_APPLICATION_NAME; -- 2. 提取请求、响应原始数据 DECLARE requestData CLOB; DECLARE responseData CLOB; -- 将请求消息树转换为CLOB存储 SET requestData = CAST(ASBITSTREAM(InputRoot.*, InputRoot.Properties.Encoding, InputRoot.Properties.CodedCharSetId) AS CLOB); -- 将响应消息树转换为CLOB存储 SET responseData = CAST(ASBITSTREAM(OutputRoot.*, OutputRoot.Properties.Encoding, OutputRoot.Properties.CodedCharSetId) AS CLOB); -- 3. 写入数据库 DECLARE dbRef REFERENCE TO Database.REQUEST_RESPONSE_LOG; INSERT INTO dbRef ( INTEGRATION_NODE, SERVER_NAME, APPLICATION_NAME, REQUEST_DATA, RESPONSE_DATA ) VALUES ( integrationNodeName, serverName, applicationName, requestData, responseData ); RETURN TRUE; END; END MODULE;
关键说明
- 元数据获取:通过ACE内置的
Environment.Variables变量直接读取运行时的节点、服务器、应用名称,无需额外配置。 - 消息转换:使用
ASBITSTREAM函数将完整消息树转为字节流,再转为CLOB类型,确保保留请求/响应的原始格式与内容。 - 异常处理扩展:若需处理数据库插入失败场景,可添加TRY/CATCH块:
BEGIN -- 插入逻辑 EXCEPTION WHEN OTHERS THEN SET Environment.Error = SQLCODE || ' : ' || SQLSTATE || ' : ' || SQLERRORTEXT; -- 可根据需求执行日志记录或回退操作 RETURN FALSE; END;
注意事项
- 确保数据库账号拥有目标表的
INSERT权限。 - 若消息内容过大,需确认数据库CLOB字段的容量限制是否满足需求。
- 若使用JDBC数据源,需提前在ACE中加载对应驱动,并在数据源配置中正确填写驱动类与连接URL。
内容的提问来源于stack exchange,提问作者manideep
相关产品推荐
相关产品推荐

