Previous Contents Index Next |
Sun Java System Message Queue 3.5 SP1 Java Client Developer's Guide

> ## Appendix B
> Client Error Codes

> This appendix provides reference information for error codes returned by the Message Queue client runtime when it raises a JMS exception.

> When client runtime code raises an exception, it returns a specific client error code and message. You can obtain the error code and message using the JMSException.getErrorCode() method and the JMSException.getMessage() method.

> Note that error codes and error messages are not standardized in the JMS specification, but are specific to each JMS provider. Applications that rely on these error codes and messages in their programming logic are not portable across JMS providers.

> Table B-1 lists the error codes in numerical order. For each code listed, it supplies the error message and a probable cause.

> Each error message returned has the following format:

> [Code]: “Message -cause Root-cause-exception-message.”

> Message text provided for -cause is only appended to the message if there is an exception linked to the JMS exception. For example, a JMS exception with error code C4003 returns the following error message:

> [C4003]: Error occurred on connection creation [localhost:7676] - cause: java.net.ConnectException: Connection refused: connect

> Table B-1 Message Queue Client Error Codes

> Code | Message and Description
> --- | ---
> C4000 | Message Packet acknowledge failed. Cause The client runtime was not able to receive or process the expected acknowledgment sent from the broker.
> C4001 | Message Write packet failed. Cause The client runtime was not able to send information to the broker. This might be caused by an underlying network I/O failure or by the JMS connection being closed.
> C4002 | Message Read packet failed. Cause The client runtime was not able to process inbound message properly. This might be caused by an underlying network I/O failure.
> C4003 | Message Error occurred on connection creation [host, port]. Cause The client runtime was not able to establish a connection to the broker with the specified host name and port number.
> C4004 | Message An error occurred on connection close. Cause The client runtime encountered one or more errors when closing the connection to the broker.
> C4005 | Message Get properties from packet failed. Cause The client runtime was not able to retrieve a property object from the Message Queue packet.
> C4006 | Message Set properties to packet failed. Cause The client runtime was not able to set a property object in the Message Queue packet.
> C4007 | Message Durable subscription {0} in use. {0} is replaced with the subscribed destination name. Cause The client runtime was not able to unsubscribe the durable subscriber because it is currently in use by another consumer.
> C4008 | Message Message in read-only mode. Cause An attempt was made to write to a JMS Message that is in read-only mode.
> C4009 | Message Message in write-only mode. Cause An attempt was made to read a JMS Message that is in write-only mode.
> C4010 | Message Read message failed. Cause The client runtime was not able to read the stream of bytes from a BytesMessage type message.
> C4011 | Message Write message failed. Cause The client runtime was not able to write the stream of bytes to a BytesMessage type message.
> C4012 | Message message failed. Cause The client runtime encountered an error when processing the reset() method for a BytesMessage or StreamMessage type message.
> C4013 | Message Unexpected end of stream when reading message. Cause The client runtime reached end-of-stream when processing the readXXX() method for a BytesMessage or StreamMessage type message.
> C4014 | Message Serialize message failed. Cause The client runtime encountered an error when processing the serialization of an object, such as ObjectMessage.setObject(java.io.Serializable object).
> C4015 | Message Deserialize message failed. Cause The client runtime encountered an error when processing the deserialization of an object, for example, when processing the method ObjectMessage.getObject().
> C4016 | Message Error occurred during message acknowledgment. Cause The client runtime encountered an error during the process of message acknowledgment in a session.
> C4017 | Message Invalid message format. Cause The client runtime encountered an error when processing a JMS Message; for example, during data type conversion.
> C4018 | Message Error occurred on request message redeliver. Cause The client runtime encountered an error when processing recover() or rollback() for the JMS session.
> C4019 | Message Destination not found: {0}. {0} is replaced with the destination name specified in the API parameter. Cause The client runtime was unable to process the API request due to an invalid destination specified in the API, for example, the call MessageProducer.send (null, message) raises JMSException with this error code and message.
> C4020 | Message Temporary destination belongs to a closed connection or another connection - {0}. {0} is replaced with the temporary destination name specified in the API parameter. Cause An attempt was made to use a temporary destination that is not valid for the message producer.
> C4021 | Message Consumer not found. Cause The Message Queue session could not find the message consumer for a message sent from the broker. The message consumer may have been closed by the application or by the client runtime before the message for the consumer was processed.
> C4022 | Message Selector invalid: {0}. {0} is replaced with the selector string specified in the API parameter. Cause The client runtime was unable to process the JMS API call because the specified selector is invalid.
> C4023 | Message Client unacknowledged messages over system defined limit. Cause The client runtime raises a JMSException with this error code and message if unacknowledged messages exceed the system defined limit in a CLIENT_ACKNOWLEDGE session.
> C4024 | Message The session is not transacted. Cause An attempt was made to use a transacted session API in a non-transacted session. For example, calling the methods commit() or rollback in a AUTO_ACKNOWLEDGE session.
> C4025 | Message Cannot call this method from a transacted session. Cause An attempt was made to call the Session.recover() method from a transacted session.
> C4026 | Message Client non-committed messages over system defined limit. Cause The client runtime raises a JMSException with this error code and message if non committed messages exceed the system -defined limit in a transacted session.
> C4027 | Message Invalid transaction ID: {0}. {0} is replaced with the Message Queue internal transaction ID. Cause An attempt was made to commit or rollback a transacted session with a transaction ID that is no longer valid.
> C4028 | Message Transaction ID {0} in use. {0} is replaced with the Message Queue internal transaction ID. Cause The internal transaction ID is already in use by the system. An application should not receive a JMSException with this error code under normal operations.
> C4029 | Message Invalid session for ServerSession. Cause An attempt was made to use an invalid JMS session for the ServerSession object, for example, no message listener was set for the session.
> C4030 | Message Illegal maxMessages value for ServerSession: {0}. {0} was replaced with maxMessages value used by the application. Cause The configured maxMessages value for ServerSession is less than 0.
> C4031 | Message MessageConsumer and ServerSession session conflict. Cause An attempt was made to create a message consumer for a session already used by a ServerSession object.
> C4032 | Message Can not use receive() when message listener was set. Cause An attempt was made to do a synchronous receive with an asynchronous message consumer.
> C4033 | Message Authentication type does not match: {0} and {1}. {0} is replaced with the authentication type used by the client runtime. {1} is replaced with the authentication type requested by the broker. Cause The authentication type requested by the broker does not match the authentication type in use by the client runtime.
> C4034 | Message Illegal authentication state. Cause The authentication hand-shake failed between the client runtime and the broker.
> C4035 | Message Received AUTHENTICATE_REQUEST status code FORBIDDEN. Cause The client runtime authentication to the broker failed.
> C4036 | Message A server error occurred. Cause A generic error code indicating that the client's requested operation to the broker failed.
> C4037 | Message Server unavailable or server timeout. Cause The client runtime was unable to establish a connection to the broker.
> C4038 | Message [4038] - cause: {0} {0} is replaced with a root cause exception message. Cause The client runtime caught an exception thrown from the JVM. The client runtime throws JMSException with the "root cause exception" set as the linked exception.
> C4039 | Message Cannot delete destination. Cause The client runtime was unable to delete the specified temporary destination. Please see TemporaryTopic.delete() and TemporaryQueue.delete() API Javadoc for constraints on deleting a temporary destination.
> C4040 | Message Invalid ObjectProperty type. Cause An attempt was made to set a non-primitive Java object as a JMS message property. Please see Message.setObjectProperty() API Javadoc for valid object property types.
> C4041 | Message Reserved word used as property name - {0}. Cause An attempt was made to use a reserved word, defined in the JMS Message API Javadoc, as the message property name, for example, NULL, TRUE, FALSE.
> C4042 | Message Illegal first character of property name - {0} {0} is replaced with the illegal character. Cause An attempt was made to use a property name with an illegal first character. See JMS Message API Javadoc for valid property names.
> C4043 | Message Illegal character used in property name - {0} {0} is replaced with the illegal character used. Cause An attempt was made to use a property name containing an illegal character. See JMS Message API Javadoc for valid property names.
> C4044 | Message Browser timeout. Cause The queue browser was unable to return the next available message to the application within the system’s predefined timeout period.
> C4045 | Message No more elements. Cause In QueueBrowser, the enumeration object has reached the end of element but nextElement() is called by the application.
> C4046 | Message Browser closed. Cause An attempt was made to use QueueBrowser methods on a closed QueueBrowser object.
> C4047 | Message Operation interrupted. Cause ServerSession was interrupted. The client runtime throws RuntimeException with the above exception message when it is interrupted in the ServerSession.
> C4048 | Message ServerSession is in progress. Cause Multiple threads attempted to operate on a server session concurrently.
> C4049 | Message Can not call Connection.close(), stop(), etc from message listener. Cause An attempt was made to call Connection.close(), ...stop(), etc from a message listener.
> C4050 | Message Invalid destination name - {0} {0} is replaced with the invalid destination name used. Cause An attempt was made to use an invalid destination name, for example, NULL.
> C4051 | Message Invalid delivery parameter. {0} : {1} {0} is replaced with delivery parameter name, such as "DeliveryMode". {1} is replaced with delivery parameter value used by the application. Cause An attempt was made to use invalid JMS delivery parameters in the API, for example, values other than DeliveryMode.NON_PERSISTENT or DeliveryMode.PERSISTENT were used to specify the delivery mode.
> C4052 | Message Client ID is already in use - {0} {0} is replaced with the client ID that is already in use. Cause An attempt was made to set a client ID to a value that is already in use by the system.
> C4053 | Message Invalid client ID - {0} {0} is replaced with the client ID used by the application. Cause An attempt was made to use an invalid client ID, for example, null or empty client ID.
> C4054 | Message Can not set client ID, invalid state. Cause An attempt was made to set a connection's client ID at the wrong time or when it has been administratively configured.
> C4055 | Message Resource in conflict. Concurrent operations on a session. Cause An attempt was made to concurrently operate on a session with multiple threads.
> C4056 | Message Received goodbye message from broker. Cause A Message Queue client received a GOOD_BYE message from broker.
> C4057 | Message No username or password. Cause An attempt was made to use a null object as a user name or password for authentication.
> C4058 | Message Cannot acknowledge message for closed consumer. Cause An attempt was made to acknowledge message(s) for a closed consumer.
> C4059 | Message Cannot perform operation, session is closed. Cause An attempt was made to call a method on a closed session.
> C4060 | Message Login failed: {0} {0} message was replaced with user name. Cause Login with the specified user name failed.
> C4061 | Message Connection recovery failed, cannot recover connection. Cause The client runtime was unable to recover the connection due to internal error.
> C4062 | Message Cannot perform operation, connection is closed. Cause An attempt was made to call a method on a closed connection.
> C4063 | Message Cannot perform operation, consumer is closed. Cause An attempt was made to call a method on a closed message consumer.
> C4064 | Message Cannot perform operation, producer is closed. Cause An attempt was made to call a method on a closed message producer.
> C4065 | Message Incompatible broker version encountered. Client version {0}.Broker version {1} {0} is replaced with client version number. {1} is replaced with broker version number. Cause An attempt was made to connect to a broker that is not compatible with the client version.
> C4066 | Message Invalid or empty Durable Subscription Name was used: {0} {0} is replaced with the durable subscription name used by the application. Cause An attempt was made to use a null or empty string to specify the name of a durable subscription.
> C4067 | Message Invalid session acknowledgment mode: {0} {0} is replaced with the acknowledge mode used by the application. Cause An attempt was made to use a non-transacted session mode that is not defined in the JMS Session API.
> C4068 | Message Invalid Destination Classname: {0}. Cause An attempt was made to create a message producer or message consumer with an invalid destination class type. The valid class type must be either Queue or Topic.
> C4069 | Message Cannot commit or rollback on an XASession. Cause The application tried to make a session.commit() or a session.rollback() call in an application server component whose transactions are being managed by the Transaction Manager via the XAResource. These calls are not allowed in this context.
> C4070 | Message Error when converting foreign message. Cause The client runtime encountered an error when processing a non-Message Queue JMS message.
> C4071 | Message Invalid method in this domain: {0} {0} is replaced with the method name used. Cause An attempt was made to use a method that does not belong to the current messaging domain. For example calling TopicSession.createQueue() will raise a JMSException with this error code and message.
> C4072 | Message Illegal property name - "" or null. Cause An attempt was made to use a null or empty string to specify a property name.
> C4073 | Message A JMS destination limit was reached. Too many Subscribers/Receivers for {0} : {1} {0} is replaced with "Queue" or "Topic" {1} is replaced with the destination name. Cause The client runtime was unable to create a message consumer for the specified domain and destination due to a broker resource constraint.
> C4074 | Message Transaction rolled back due to provider connection failover. Cause An attempt was made to call Session.commit() after connection failover occurred. The transaction is rolled back automatically.
> C4075 | Message Cannot acknowledge messages due to provider connection failover. Subsequent acknowledge calls will also fail until the application calls session.recover(). Cause As stated in the message.
> C4076 | Message Client does not have permission to create producer on destination: {0} {0} is replaced with the destination name that caused the exception. Cause The application client does not have permission to create a message producer with the specified destination.
> C4077 | Message Client is not authorized to create destination : {0} {0} is replaced with the destination name that caused the exception. Cause The application client does not have permission to create the specified destination.
> C4078 | Message Client is unauthorized to send to destination: {0} {0} is replaced with the destination name that caused the exception. Cause The application client does not have permission to produce messages to the specified destination.
> C4079 | Message Client does not have permission to register a consumer on the destination: {0} {0} is replaced with the destination name that caused the exception. Cause The application client does not have permission to create a message consumer with the specified destination name.
> C4080 | Message Client does not have permission to delete consumer: {0} {0} is replaced with the Message Queue consumer ID for the consumer to be deleted. Cause The application does not have permission to remove the specified consumer from the broker.
> C4081 | Message Client does not have permission to unsubscribe: {0} {0} was replaced with the name of the subscriber to unsubscribe. Cause The client application does not have permission to unsubscribe the specified durable subscriber.
> C4082 | Message Client is not authorized to access destination: {0} {0} is replaced with the destination name that caused the exception. Cause The application client is not authorized to access the specified destination.
> C4083 | Message Client does not have permission to browse destination: {0} {0} was replaced with the destination name that caused the exception. Cause The application client does not have permission to browse the specified destination.
> C4084 | Message User authentication failed: {0} {0} is replaced with the user name. Cause User authentication failed.
> C4085 | Message Delete consumer failed. Consumer was not found: {0} {0} is replaced with name of the consumer that could not be found. Cause The attempt to close a message consumer failed because the broker was unable to find the specified consumer.
> C4086 | Message Unsubscribe failed. Subscriber was not found: {0} {0} is replaced with name of the durable subscriber. Cause An attempt was made to unsubscribe a durable subscriber with a name that does not exist in the system.
> C4087 | Message Set Client ID operation failed. Invalid Client ID: {0} {0} is replaced with the ClientID that caused the exception. Cause Client is unable to set Client ID on the broker and receives a BAD_REQUEST status from broker.
> C4088 | Message A JMS destination limit was reached. Too many producers for {0} : {1} {0} is replaced with Queue or Topic {1} is replaced with the destination name for which the limit was reached. Cause The client runtime was not able to create a message producer for the specified domain and destination due to limited broker resources.
> C4089 | Message Caught JVM Error: {0} {0} is replaced with root cause error message. Cause The client runtime caught an error thrown from the JVM; for example, OutOfMemory error.
> C4090 | Message Invalid port number. Broker is not available or may be paused:{0} {0} is replaced with "[host, port]" information. Cause The client runtime received an invalid port number (0) from the broker. Broker service for the request was not available or was paused.

> Previous Contents Index Next

> Copyright 2004 Sun Microsystems, Inc. All rights reserved.