So am I wrong about this problem?  Do I simply have something misconfigured
with the container which is causing it to traverse down the wrong path for
remote queue name lookups?

Dustin

> -----Original Message-----
> From: Barlow, Dustin [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, September 26, 2002 9:04 AM
> To: '[EMAIL PROTECTED]'
> Subject: RE: [JBoss-dev] JMS DestinationManager issue with 
> Remote queues
> a nd MDB's
> 
> 
> The failure is occuring here in org.jboss.mq.server.ClientConsumer:
> 
>   public void addSubscription(Subscription req) throws JMSException
>    {
>       if( log.isTraceEnabled() )
>          log.trace("Adding subscription for: " + req);
>       req.connectionToken = connectionToken;
>       req.clientConsumer = this;
>       
>       System.out.println("************ Dustin: about to 
> getJMSDestination in
> ClientConsumer *****************");
>       JMSDestination jmsdest = (JMSDestination)
> server.getJMSDestination(req.destination);
>       if (jmsdest == null)
>       {
>          throw new JMSException("The destination " + 
> req.destination + "
> does not exist !");
>       }
>       
>       jmsdest.addSubscriber(req);
>       
>       synchronized (subscriptions)
>       {
>          HashMap subscriptionsClone = (HashMap) subscriptions.clone();
>          subscriptionsClone.put(new Integer(req.subscriptionId), req);
>          subscriptions = subscriptionsClone;
>       }
>    }
> 
> The check for jmsdest == null is passing after the call to
> "server.getJMSDestination(req.destination)".  The variable "server" is
> defined as a JMSDestinationManager.
> 
> The ClientConsumer is calling this code snippet in the
> JMSDestinationManager:
> 
>    public JMSDestination getJMSDestination(SpyDestination dest)
>    {
>       System.out.println("********* DESTINATIONS = "  +
> destinations.toString() + " ************************");
>       return (JMSDestination)destinations.get(dest);
>    }
> 
> Attached to this message is a snippet from the server.log of 
> my MDB being
> deployed.  It also includes my extra debug statements.  You 
> will notice that
> when I print the contents of the hashmap, it only is 
> displaying the local
> JMS queues that I have defined (in this case, only the DLQ).  
> My remote
> instance of JBoss has all the default JMS queues that JBoss 
> "ships" with
> plus one extra called queue/Dustin.
> 
> Dustin
> 
> > -----Original Message-----
> > From: Peter Antman [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, September 26, 2002 4:29 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [JBoss-dev] JMS DestinationManager issue with 
> > Remote queues
> > and MDB's
> > 
> > 
> > I dont get this. Where is the destination manager used by MDB:s?
> > 
> > here a couple of snippets from JMSContainerInvoker:
> > 
> >  // Connect to the JNDI server and get a reference to root context
> >       Context context = adapter.getInitialContext();
> > ...
> >          Topic topic = (Topic)createDestination(Topic.class,
> >                                                 context,
> >                                                 "topic/" + 
> jndiSuffix,
> >                                                 jndiSuffix);
> > ...
> >    protected Destination createDestination(final Class type,
> >                                            final Context ctx,
> >                                            final String jndiName,
> >                                            final String jndiSuffix)
> >       throws Exception
> >    {
> >       try
> >       {
> >          // first try to look it up
> >          return (Destination)ctx.lookup(jndiName);
> >       }
> >       catch (NamingException e)
> > 
> > I.e destinations are looked up in the JNDI context given by 
> > the provider
> > adapter. What will not work is if the given destination does 
> > not exist,
> > then a local destination will be created. If the 
> destination exist on
> > the remote server, all will work fine (should at least).
> > 
> > //Peter
> > 
> > 
> > On 25 Sep, Barlow, Dustin wrote:
> > > I am using the 3.2.0beta2 CVS version of JBoss and have run 
> > into a problem
> > > with the JMS DestinationManager.  It appears that the JMS 
> > DestinationManager
> > > stores in a hashmap the actual queue/topic JNDI names that 
> > are then looked
> > > up at deployment time by the MDB deployment logic in JBoss. 
> >  This works fine
> > > for local queues and topics as the internal hashmap that the
> > > DestinationManager uses has entries (ie destinations) for 
> > each of the local
> > > queues that were deployed in the jbossmq-destinations.xml 
> > file on startup.
> > > However, in the case of remote queues, the hashmap does not 
> > have the JNDI
> > > names of those queues and thus the MDB deploys with an 
> > error saying it
> > > cannot find the queue to bind to.
> > > 
> > > I find this coupling of the MDB deployer to the local 
> > DestinationManager odd
> > > in that you are allowed to use the ProviderUrl on the 
> > JMSProviderLoader
> > > service to point to a remote JBoss instance that houses the 
> > queues.  I have
> > > my MDB confired to use the Remote JMSProviderLoader I 
> > setup, and JBoss is
> > > deploying the JMSProviderLoader which in turn is binding to 
> > the remote JNDI
> > > context.  However, the local DestinationManager is still 
> > being used in that
> > > setup to look up queue names even though it only has local 
> > queue names, not
> > > the remote ones.  I looked through the JBossMQ code base 
> > and really didn't
> > > see any way to have the MDB deployer do a "real" JNDI 
> > lookup for the queue
> > > on a remote host.  It appears that the MDB deployment 
> > system is setup to
> > > always use the DestinationManager for doing it's JNDI 
> > resource lookups.
> > > 
> > > Any tips would be greatly appreciated.  
> > > 
> > > Dustin
> > > 
> > > 
> > > -------------------------------------------------------
> > > This sf.net email is sponsored by:ThinkGeek
> > > Welcome to geek heaven.
> > > http://thinkgeek.com/sf
> > > _______________________________________________
> > > Jboss-development mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > 
> > -- 
> > ------------------------------------------------------------
> > Peter Antman        Chief Systems Architect, Business Development
> > Technology in Media, Box 34105 100 26 Stockholm
> > WWW: http://www.tim.se      WWW: http://www.backsource.org
> > Email: [EMAIL PROTECTED]    
> > Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 
> > ------------------------------------------------------------
> > 
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > 
> 
> 


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to