How many bytes is taken by the payload header. Header is defined here as protocol definition +
length. Most common value here is four bytes, so we keep that as default. Effectively, this is
how much of the message you "don't" want to read from the message's total length with readAll.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class CloseMessage (0.27.1)\n\nVersion latestkeyboard_arrow_down\n\n- [0.27.1 (latest)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.27.0](/java/docs/reference/pgadapter/0.27.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.26.0](/java/docs/reference/pgadapter/0.26.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.25.0](/java/docs/reference/pgadapter/0.25.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.24.0](/java/docs/reference/pgadapter/0.24.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.23.1](/java/docs/reference/pgadapter/0.23.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.22.1](/java/docs/reference/pgadapter/0.22.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.21.0](/java/docs/reference/pgadapter/0.21.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.20.0](/java/docs/reference/pgadapter/0.20.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.19.1](/java/docs/reference/pgadapter/0.19.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.18.4](/java/docs/reference/pgadapter/0.18.4/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.17.0](/java/docs/reference/pgadapter/0.17.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.16.0](/java/docs/reference/pgadapter/0.16.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.15.0](/java/docs/reference/pgadapter/0.15.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.14.1](/java/docs/reference/pgadapter/0.14.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.9.0](/java/docs/reference/pgadapter/0.9.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.8.0](/java/docs/reference/pgadapter/0.8.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.7.0](/java/docs/reference/pgadapter/0.7.0/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.6.1](/java/docs/reference/pgadapter/0.6.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage)\n- [0.5.1](/java/docs/reference/pgadapter/0.5.1/com.google.cloud.spanner.pgadapter.wireprotocol.CloseMessage) \n\n public class CloseMessage extends ControlMessage\n\nClose the designated statement. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e [WireMessage](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage) \\\u003e [ControlMessage](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.ControlMessage) \\\u003e CloseMessage \n\nInherited Members\n-----------------\n\n[ControlMessage.create(ConnectionHandler)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.ControlMessage#com_google_cloud_spanner_pgadapter_wireprotocol_ControlMessage_create_com_google_cloud_spanner_pgadapter_ConnectionHandler_) \n[ControlMessage.getFormatCodes(DataInputStream)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.ControlMessage#com_google_cloud_spanner_pgadapter_wireprotocol_ControlMessage_getFormatCodes_java_io_DataInputStream_) \n[ControlMessage.handleError(Exception)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.ControlMessage#com_google_cloud_spanner_pgadapter_wireprotocol_ControlMessage_handleError_java_lang_Exception_) \n[ControlMessage.isExtendedProtocol()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.ControlMessage#com_google_cloud_spanner_pgadapter_wireprotocol_ControlMessage_isExtendedProtocol__) \n[WireMessage.getHeaderLength()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getHeaderLength__) \n[WireMessage.getIdentifier()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getIdentifier__) \n[WireMessage.getMessageName()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getMessageName__) \n[WireMessage.getParameters(DataInputStream)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getParameters_java_io_DataInputStream_) \n[WireMessage.getPayloadString()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getPayloadString__) \n[WireMessage.nextHandler()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_nextHandler__) \n[WireMessage.read(int)](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_read_int_) \n[WireMessage.readAll()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_readAll__) \n[WireMessage.readString()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_readString__) \n[WireMessage.send()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_send__) \n[WireMessage.sendPayload()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_sendPayload__) \n[WireMessage.toString()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_toString__) \n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Fields\n-------------\n\n### IDENTIFIER\n\n protected static final char IDENTIFIER\n\nConstructors\n------------\n\n### CloseMessage(ConnectionHandler connection)\n\n public CloseMessage(ConnectionHandler connection)\n\nMethods\n-------\n\n### getHeaderLength()\n\n protected int getHeaderLength()\n\nHow many bytes is taken by the payload header. Header is defined here as protocol definition +\nlength. Most common value here is four bytes, so we keep that as default. Effectively, this is\nhow much of the message you \"don't\" want to read from the message's total length with readAll.\n\n**Overrides** \n[WireMessage.getHeaderLength()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getHeaderLength__)\n\n### getIdentifier()\n\n public String getIdentifier()\n\nUsed for logging.\n\n**Overrides** \n[WireMessage.getIdentifier()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getIdentifier__)\n\n### getMessageName()\n\n protected String getMessageName()\n\nUsed for logging.\n\n**Overrides** \n[WireMessage.getMessageName()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getMessageName__)\n\n### getName()\n\n public String getName()\n\n### getPayloadString()\n\n protected String getPayloadString()\n\nUsed for logging.\n\n**Overrides** \n[WireMessage.getPayloadString()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_getPayloadString__)\n\n### getType()\n\n public ControlMessage.PreparedType getType()\n\n### sendPayload()\n\n protected void sendPayload()\n\nClose the statement server-side and clean up by deleting their metdata locally.\n**Overrides** \n[WireMessage.sendPayload()](/java/docs/reference/pgadapter/latest/com.google.cloud.spanner.pgadapter.wireprotocol.WireMessage#com_google_cloud_spanner_pgadapter_wireprotocol_WireMessage_sendPayload__)"]]