"jbmuser" wrote : Hi Jeff,
| Thank you for the quick response.
| I created a queue from JConsole using the operation "createQueue" of MBean
"org.jboss.messaging:module=JMS,type=Server" and restarted the server. The
queue disappeared after the server restart.
| My understanding is that, if the queue is really durable and the issue is
only with JNDI binding, then I should see the queue from JConsole even after
server restart. Please advise.
|
| Thanks in advance.
| Bijith Kumar
"jmesnil" wrote : How does the problem occur? Do you have an exception when
looking up the queue in JNDI?
|
| There is a bug in the creation of JMS queue using the management API.
| The underlying core queue is durable and messages will survive server
restart but when the server is restarted, the JMS queue is not bound to JNDI
and can not be looked up.
|
| We will fix the bug. In the meantime, a possible workaround for you is to
always recreate the queue when the server is restarted using the management
API. The 1st time, it will create the queue, the other times, the queue won't
be created (it already exists) but the queue will be bound to JNDI again.
|
| Tell us if this workaround works for you.
|
|
|
|
Hi Jeff,
Just created a persistent queue successfully using management API. The issue is
that, even though the queues survive server restart (i.e. they ARE persistent)
but wouldn't show up in JConsole after restart. I am able to obtain the
reference of the queue and consume the pending messages even though the queue
is not visible in JConsole. It seems the queues become sort of 'invisible'
after restart. Btw, I noticed that BETA3 has changed some interfaces in
management API. Below given is the new code snippet in case it helps anyone.
private static final String JMX_URL =
"service:jmx:rmi:///jndi/rmi://localhost:3000/jmxrmi";
| JMXConnector connector = JMXConnectorFactory.connect(new
JMXServiceURL(JMX_URL), new HashMap());
|
| MBeanServerConnection mbsc =
connector.getMBeanServerConnection();
|
| ObjectName name=new
ObjectName("org.jboss.messaging:module=JMS,type=Server");
| JMSServerControl control =
(JMSServerControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,name,JMSServerControl.class,false);
| control.createQueue("TestQ", "TestQ");
Bijith Kumar
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4239607#4239607
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4239607
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user