ResourceAllocationException

Hi

I am getting the exception shown below

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: javax.jms.ResourceAllocationException: [C4073]: A JMS destination limit was reached. Too many Subscribers/Receivers for Queue : SenderQueue

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.ProtocolHandler.addInterest(ProtocolHandler.jav a:1664)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.WriteChannel.addInterest(WriteChannel.java:57)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.ConnectionImpl.addInterest(ConnectionImpl.java: 883)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.Consumer.registerInterest(Consumer.java:113)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.addInterest(MessageConsumer Impl.java:130)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.MessageConsumerImpl.init(MessageConsumerImpl.ja va:125)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.QueueReceiverImpl.<init>(QueueReceiverImp l.java:50)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.UnifiedSessionImpl.createReceiver(UnifiedSessio nImpl.java:105)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.enterprise.jms.SessionWrapperBase.createReceiver(SessionWrapperBase.jav a:219)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.transversalnet.grid.ejb.service.ServiceBean.startMessageSendingService(Serv iceBean.java:207)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.transversalnet.grid.ejb.service.ServiceBean.onMessage(ServiceBean.java:94)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.ejb.containers.MessageBeanContainer.onMessage(MessageBeanContainer.java :857)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.ejb.containers.MessageBeanListenerConcurrent.onMessage(MessageBeanListe nerConcurrent.java:20)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.ServerSessionRunner.onMessage(ServerSessionRunn er.java:139)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.ServerSessionRunner.run(ServerSessionRunner.jav a:105)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.messaging.jmq.jmsclient.SessionImpl.run(SessionImpl.java:2313)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.sun.enterprise.jms.SessionWrapperBase.run(SessionWrapperBase.java:199)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at com.iplanet.ias.ejb.containers.IASServerSessionImpl.run(IASServerSessionImpl.ja va:191)

[22/Jun/2006:18:31:42] WARNING ( 2883): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)

Thanks and regards Suneesh

[3192 byte] By [suneeshvr] at [2007-11-25 17:17:43]
# 1

By default, a queue can only have a single queue receiver

on a destination. (the jms requirement of processing messages

in order can only be guarenteed IF you have a single queue

receiver)

Your code must be trying to create more receiver on a destination.

You will have to look @ your code to determine why this is

happening

If you need more than receiver on a single queue, you will

need to:

* upgrade to an enterprise license or test using the trial license

* configure the destination you are using to allow multiple

receivers (the command to do this depends on what

release of MQ you are using)

Linda_Schneider at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 2
I am using sun one 7 and the MQ come along with it . It is a trail version downloaded from the Sun site Suneesh
suneeshvr at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 3

A license to run the Enterprise version of the software

should already be available as part of the install.

You can run with it by starting the broker

seperately with the try license

To do this:

- shutdown the app server

- start the mq broker with [-license try]

imqbrokerd -license try -tty

- update the app server configuration to not start the

jms service

e.g. edit the file:

<install-root>/domains/domain1/server1/config/server.xml

and change the jms-service entry to enabled=false

e.g.

<jms-service port="7676" admin-user-name="admin"

admin-password="admin" init-timeout-in-seconds="30"

enabled="false">

</jms-service>

- start the app server

lk_schneider at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 4

Hi

I stoped the server and used the command imqbrokerd -license try -tty -port 1665

But it is showing the message

This port is already in use by another application -- possibly another

instance of the Broker. Please quit that other application, or use a

different port number for this instance of the Broker.

Broker exiting.

suneeshvr at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 5

Hi I have used the command you suggested but I am still getting the exception . I am using the port 1665

WARNING: CORE3283: stderr: javax.jms.JMSException: [C4073]: Consumer limit exceeded on destination SenderQueue

WARNING: CORE3283: stderr:at com.sun.messaging.jmq.jmsclient.ProtocolHandler.addInterest(ProtocolHandler.jav a:1

WARNING: CORE3283: stderr:at com.sun.messaging.jmq.jmsclient.WriteChannel.addInterest(WriteChannel.java:55)

SEVERE: JMS5007: Illegal connection factory access to [QueueConnectionFactory]. J2EE Components should access JMS Con

tories through a resource-ref in java:comp/env

suneeshvr at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 6
One more thing to add . I am running multiple instances in the same apps server . Is it creates the problem.
suneeshvr at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...
# 7

You still have to create the consumers with the correct behavior

The default behavior of a queue is "single queue receiver"

or "1 active receiver" .. depending on the release of MQ you

are running

Please see the MQ administators guide for infomation on

how to create a multi-consumer queue:

For MQ 3.0.1 see:

http://docs.sun.com/source/817-0354-10/brkrmgmt.html#22345

For MQ 3.5 see:

http://docs.sun.com/source/817-3727/brkrmgmt.html#wp22345

lk_schneider at 2007-7-3 12:42:16 > top of Java-index,Application & Integration Servers,Sun Java System Message Queue...