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

Reply via email to