5 Replies Latest reply on Mar 27, 2005 5:23 PM by Steve Lewis

    JMS Facade

    Ovidiu Feodorov Master

      Hey Steve,

      This is a continuation of http://www.jboss.org/index.html?module=bb&op=viewtopic&t=61068

      I actually already have a full JMS Facade prototype that makes obvious how I want to use Remoting and the AOP API for interceptors.

      It's still in my private CVS and the reason I didn't put it out is that I am still doing a lot of refactoring while I am trying new things, and I don't want to polute the main repository with directories that become obsolete overnight.

      I asked our build guys if isn't possible to have a separate "prototype project" http://www.jboss.org/index.html?module=bb&op=viewtopic&t=61366, but nobody answered so I guess it isn't.

      I think I should get over it and put it out, assuming the risk of annoying you guys because of a lot of refactoring :)


      To answer your questions:


      The JMS Facade will be exposed by a set of classes (JBossConnectionFactory, JBossConnection, JBossSession, etc) that will delegate to a layer of "JMS delegates". These are actually dynamic proxies + interceptors , following the unified interceptor patterns (AOP API and all). The last interceptor in the chain is an org.jboss.aspects.remoting.InvokeRemoteInterceptor which delegates the transport to Remoting. On the server-side, there is a Connector with at least one handler (the org.jboss.aop.Dispatcher singleton instance) to which we register one or more Advisors.

      This is the part I am working on right now, but I guess I should put it out in the open. Let's see if I can do this today ....