What causes exception 4003?
javax.jms.JMSException: [C4003]: Error occurred on connection creation.
- caught javax.jms.JMSException^M
at
com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandl er.java:183)^M
at
com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandl er.java:136)^M
at
com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:489)^ M
at
com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.ja va:842)^M
at
com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:320)^M
at
com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java :197)^M
at
com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectio nImpl.java:35)^M
at
com.sun.messaging.BasicQueueConnectionFactory.createQueueConnection(BasicQueueC onnectionFactory.java:55)^M
at
com.sun.messaging.BasicQueueConnectionFactory.createQueueConnection(BasicQueueC onnectionFactory.java:40)^M
at
com.cqr.cdde.QueueConnectionCreator.createConnection(QueueConnectionCreator.jav a:28)^M
I am running the JMS broker on Windows 2000 and with the following
version:
==================================================================
iPlanet Message Queue for Java Copyright 2001
Version: 2.0 SP1 (Build 322-a) Sun Microsystems, Inc.
Compile: Thu 08/23/2001All Rights Reserved
This product includes code licensed from RSA Data Security.
==================================================================
What causes the exception with the error code C4003?
Is there a list of what each error code corresponds to?
You may be running into a problem with the tcp/ip
"backlog".
Backlog is the "buffer" for connections in the tcp stack
at limits how many simultaneous connections can be made
at a time. For example, it you have a backlog of 5, the
broker can have 5 pending connections waiting while it
is accepting (creating) a connection. Any connection who
tries to connect when the backlog is full will receive
an IO exception.
There is a limit to the maximum backlog size on windows 2000.
Windows 2000 Server limits the backlog to 200
Windows 2000 Professional limits the backlog to 5
The broker also sets defaults limits the backlog size for the portmapper
and each service to the following:
jms service:100
portmapper:50
ssl jms service: 100
admin service:5
The actual backlog will be the smaller of the system limit and
the broker backlog limit. e.g. out of the box (no property changes)
the backlog for the JMS service on Windows 2000 server will be 100,
the backlog for the JMS service on Windows 2000 professional will be 5
If you are running on Windows 2000 server:
* increase the backlog value for both the portmapper and
the services by setting the following properties in your
config.properties file:
jmq.jms.tcp.backlog=200
jmq.portmapper.backlog=200
If you are running on Windows 2000 professional:
* you will need to upgrade to windows 2000 server to handle more
connections
>What causes the exception with the error code C4003?
>
Code C4003 indicates that the client was unable to establish
a TCP connection with the broker. This could occur for
several reasons:
- the backlog could not support the # of simultaneous connections
- the broker is not running
- the broker is running on a different port
Since the error is detected by the TCP stack, we are unable to
determine what specific problem is causing in exception. In your
case, since you are able to connect in other situations, its
probably the backlog.
>Is there a list of what each error code corresponds to?
We dont have an external document which lists each error code
at this time. (the codes are used to help us determine the
error which occurs if the error string has been localized)