{
  "synLogic": "int $ret \u003d $api($1, $2);",
  "help": "This API is designed to release a Kafka producer/consumer connection from the connection pool so that it can be reused by another user. It takes in two parameters - jcid and error_msg. jcid is the ID of the connection to be released, and error_msg is an error message string that will be populated in case an error occurs.",
  "notes": "",
  "returns": "This function in C returns an integer value, while in Java it returns a Boolean. In C, if the returned value is less than 0, it indicates that an error has occurred. In Java, if the returned value is false, it indicates that an error has occurred. Conversely, if the returned value is true, indicates that the connection was successfully released from the connection pool.",
  "arguments": "\u003ctable class\u003d\"newGuiTable\" style\u003d\"width:100%\"\u003e \u003ctbody\u003e\u003ctr\u003e \u003cth\u003e Argument \u003c/th\u003e \u003cth\u003e Description \u003c/th\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e JPCID \u003c/td\u003e \u003ctd\u003e It is the Connection ID for Java Messaging Service \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Error Message \u003c/td\u003e \u003ctd\u003e This is an error message string that will be populated if an error occurs during the release of the connection. \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e\u003c/table\u003e",
  "parameterization": "",
  "component": [
    {
      "id": "$1",
      "type": "TextField",
      "label": "JMS Pool Connection Id",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If JMS Connection id is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": false
    },
    {
      "id": "$2",
      "type": "TextField",
      "label": "Error Message Buffer Pointer",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter error message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": false
    },
    {
      "id": "$ret",
      "type": "TextField",
      "label": "Return Variable",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore ",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": true
    }
  ],
  "name": "ns_kafka_release_connection",
  "syntax": "int ns_kakfa_release_connection(int jpcid, char *error_msg);",
  "javaSyntax": "boolean ns_kafka_release_connection(JMSKey key);",
  "cEx": "flow()\n{\n  int jpid;        //JMS Pool Id\n  int jcid;        //JMS Connection Id\n  char error_msg[1024 + 1];        // Error string. Must be 1024 size\n  int ret;        // Error code\n  char *msg \u003d \"message will goes here\";  // Message to be produced\n  int msg_len \u003d strlen(msg);        // Message Length\n  char *key \u003d \"message_key\";        // Message Key\n  int key_length \u003d strlen(key);        // Message Length\n\n  if((jpid \u003d ns_kafka_init_producer(\"127.0.0.1\", 9092, \"topic\", 1, error_msg)) \u003c 0)\n  {\n    fprintf(stderr, \"Error in initializing Kafka producer. Error code \u003d %d, Error Msg \u003d %s\", jpid, error_msg);\n    return;\n  }\n\n  if((jcid \u003d ns_kafka_get_connection(jpid, \"KAFKAProducerSSLConnect\", error_msg)) \u003c 0)\n  {\n    fprintf(stderr, \"Error in getting Kafka connention. Error code \u003d %d, Error Msg \u003d %s\", jcid, error_msg);\n    return;\n  }\n\n  //This api will release the Producer connection from connection pool and it should be called every time so that another user can reuse it.\n  if((ret \u003d ns_kafka_release_connection(jcid, error_msg)) \u003c 0)\n  {\n    fprintf(stderr, \"Error in releasing Kafka connection.Error code \u003d %d, Error Msg \u003d %s\", ret, error_msg);\n    return;\n  }\n}",
  "javaEx": "public class flow implements NsFlow\n{\n  public int execute(NSApi nsApi) throws Exception\n  {\n    NSApi.JMSKey key \u003d null;\n        String msg\u003dnull;\n\n        // Releases the connection from connection pool \n        // It should be called every time so that another user can reuse it.\n        if(!nsApi.ns_kafka_release_connection(key))\n        {\n          System.out.println(\"Error in Releasing kafka connection. Error code \u003d \" + key.getErrCode() + \", Error Msg \u003d \" + key.getErrMsg());\n          return 0;\n        }\n  }\n}",
  "insertStrC": "ns_kakfa_release_connection(int jpcid, char *error_msg);",
  "insertStrJava": "ns_kafka_release_connection(JMSKey key);",
  "description": "This API is designed to release a Kafka producer/consumer connection from the connection pool so that it can be reused by another user. It takes in two parameters - jcid and error_msg. jcid is the ID of the connection to be released, and error_msg is an error message string that will be populated in case an error occurs."
}