Sun Java logo     Previous      Contents      Index      Next     

Sun logo
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.