So, why do we pre-restore the message queues? And not just restore them when a queue deploys?
It seems to be a waste of memory to load an entire queue 'just in case' it gets deployed. Is there any reason why I couldn't just move the code from restoreTransactions() (which is called only by startService()) to restoreDestination() which currently seems to just take the messages out of the cache created by restoreTransactions(). -david On Tue, 27 Nov 2001, David Jencks wrote: > On 2001.11.27 15:55:06 -0500 David Budworth wrote: > > Does anyone know if it's actually legal for JMS topics/queues to have > > structure? > > > > I was making the change for binding subcontexts automatically (using > > org.jboss.naming.Util). And it deploys fine. > > > > But, if I kill jboss and restart it (without my sar that defines the > > queue in deploy), it throws exceptions because it finds a directory in > > the db/messaging/QUEUE.mycompany/myqueue > > > > The queue was "mycompany/myqueue", which was created correctly as > > db/messaging/QUEUE.mycompany/myqueue/ > > > > I can only assume that the queue restoration only looks one level deep. > > And attempts to restore a queue (even though the queue is not in any DD > > anymore) > > > > I'm just trying to understand what all should be fixed. > > > > So, questions of the day are : > > > > 1) Can a queuename have depth? > > 2) Should all queues be restored at jboss startup regardless of if they > > are needed anymore? > > 2a) Or when the MBEAN descriptor is located? > > The startup is in 2 phases. When the pm is started, it "pre-restores" all > the queues it can find, figures out which messages weren't committed (btw > I'm not convinced it handles "prepared but not committed" properly), and > makes lists of undelivered messages. Then when each queue starts, it > registers with the pm and gets its list of messages. For topics, if I > remember correctly, the queue representing the topic asks the StateManager > for all the subscriber queues and restores each one individually. > > In regards to (2), there is no way to tell if a queue is needed anymore. > The mbeans for the queues are not necessarily in the same file as the mbean > for the pm, and could be deployed hours or days later. On the other hand, > the cleanup of uncommitted messages should happen as soon as the pm is > started, so you don't need to keep dead data around indefinitely. > > david jencks > > > > -David > > > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development