[JBoss JIRA] Created: (JBMESSAGING-1695) JMSServerControl.createQueue() fails when there are any paged messages for the Queue
by Bijith Kumar (JIRA)
JMSServerControl.createQueue() fails when there are any paged messages for the Queue
------------------------------------------------------------------------------------
Key: JBMESSAGING-1695
URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1695
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 2.0.0.beta4
Environment: Windows Vista 32 bit 2GB RAM
Reporter: Bijith Kumar
Assignee: Tim Fox
Hi,
I am using JMSServerControl.createQueue() to create queues on the fly (programatically) as discussed in http://www.jboss.org/index.html?module=bb&op=viewtopic&t=157444. This works fine and the API creates the Queue or just binds the queue to JNDI if queue already exists. However, this fails as soon as there are any messages paged in the Queue. i.e. If I am trying to use this API for a Queue which already exists and has some messages paged, subsequent calls to this API fails with following Exception. Test file is attached.
[code]java.lang.Exception: did not receive reply for message org.jboss.messaging.core.client.impl.ClientMessageImpl@18e613d
at org.jboss.messaging.core.management.impl.ReplicationOperationInvokerImpl.invoke(ReplicationOperationInvokerImpl.java:115)
at org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper.replicationAwareInvoke(ReplicationAwareStandardMBeanWrapper.java:75)
at org.jboss.messaging.jms.server.management.jmx.impl.ReplicationAwareJMSServerControlWrapper.createQueue(ReplicationAwareJMSServerControlWrapper.java:499)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
at javax.management.StandardMBean.invoke(StandardMBean.java:323)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1410)
at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1247)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1343)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:784)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)[/code]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 8 months
[JBoss JIRA] Created: (JBMESSAGING-1090) Add appropriate Exception handling when hitting MaxSize
by Jay Howell (JIRA)
Add appropriate Exception handling when hitting MaxSize
-------------------------------------------------------
Key: JBMESSAGING-1090
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1090
Project: JBoss Messaging
Issue Type: Bug
Components: Messaging Core
Affects Versions: 1.4.0.GA
Reporter: Jay Howell
Assigned To: Tim Fox
When using MaxSize for a queue and topic the following behaviors exist
Queue - When a queue hits MaxSize, the delivery returned in Channel Support is null. This triggers a very generic JMSException to be thrown by looking at the delivery and seeing if it's null in the ServerConnectionEndpoint.
Topic - When a subscription hits the MaxSize(defined in the topic), the delivery returned will be null, but no check is done and no JMSException is thrown in the ServerConnectionEndpoint.
What this means is that anyone who wants to put hooks in to gather the messages dropped can't. Either because the exception is too generic or because one is not thrown at all.
I would purpose that we put proper exception handling down in the ChannelSupport where MaxSize is checked for both queues and subscriptions.
We would need to Change the The two methods in channel support for send and sendInternal to throw a JMSException. Then we throw a checked Exception in ChannelSupport for MaxSize violations(make a new exception derived from MessagingJMSException).
Adding proper exception handling to these would allow users to add aspects and notifications when messages are dropped due to MaxSize.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 8 months
[JBoss JIRA] Created: (JBMESSAGING-1400) Allow users to configure a system wide maximum connection limit
by Jay Howell (JIRA)
Allow users to configure a system wide maximum connection limit
---------------------------------------------------------------
Key: JBMESSAGING-1400
URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1400
Project: JBoss Messaging
Issue Type: Feature Request
Reporter: Jay Howell
Assignee: Tim Fox
Fix For: 2.0.0. GA
Many users are complaining of errors that say "Too many open files", which comes from the number of sockets open during jms processing. It's currently possible to run the system out of resources. We currently only have control of this through the remoting/netty/mina layer. We should have a setting in JBM that limits the number of connections systemwide, that is independent of the remoting protocol/package. This way users wouldn't have to keep learning a new package/configuration setting each time the communications package changes in jbm.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 8 months