I guess I'm too tired... Before I go sleep let me clarify what I said
about EJB proxy factories. They have the purpose of producing
protocol-dependent "references" to EJBObjects and EJBHomes, right?
An JRMP/EJB/ProxyFactory produces serializad JRMP proxies, 
an IIOP/EJB/ProxyFactory produces IORs. 

A proxy factory is tied to an invoker. See?

I understand that this way of seeing things leads to an environment 
somewhat more static than the one in Marc's vision... Everything is 
set at bean deployment time. After a bean is deployed you cannot 
attach an additional factory/invoker to it. You have to undeploy it, 
change something in the environment to make one more factory/invoker
available, and then redeploy the bean. 

Must sleep now. 'till tomorrow... Cheers,

Francisco

On Thu, 21 Mar 2002, marc fleury wrote:

> |    whatever.) This is crucial: proxy factories and invokers must
> |    know each other!!! The container, however, should not know
> |    any of them.
> 
> Invokers register in the registry under a given pattern,
> 
> proxyfactories lookup the invokers at deployment time and bind an invoker
> for EACH of them.
> 
> They also register a listener to invoker registration deregistration on the
> JMX bus and bind/unbind the home at registration time.
> 
> Scenario.
> 
> One EJB, one MBean
> one RMI invoker
> 
> the EJB/ProxyFactory binds the HOME under JNDI name with RMI invoker
> The MBean/ProxyFactory binds the MBean interface under JMX name in JNDI with
> RMI invoker
> 
> we drop the clusteredRMI invoker
> 
> the EJB/PF binds the home under "cluster/JNDIhome" with RMI/clustered
> The MBean/PF binds the MBean under cluster/JMXname (whatever the name) with
> clustered invoker.
> 
> This way we don't need to configure anything in xml, the only difference is
> the naming.
> 
> I guess we could specify a default "invoker" under which the "bare name" is
> found.  So you say "cluster" for the invoker, meaning that instead of
> straight RMI you get cluster RMI under the JNDI name of the bean.
> 
> Something like that.
> 
> marcf
> 
> 
> |3 - When a request arrives at some invoker, the invoker stuffs
> |    info on its proxy factory within the invocation object if
> |    passes to the MBean server. This is also crucial: proxy factory
> |    info must get to the container at each invocation!!! To see why
> |    this is neccessary, think of a container executing a method that
> |    returns an EJBObject.
> |
> |    What kind of beast should the container return? A JRMP proxy?
> |    A CORBA IOR?
> |
> |    Well, the container must ask this thing to some proxy factory.
> |    Which proxy factory? The one associated with the current
> |    invocation! In other words, proxy factory info is contextual data
> |    that changes from invocation to invocation and must be passed along
> |    with the invocation. The container does not know any of its proxy
> |    factories. Nor does it know any of its invokers.
> |
> |Does this stuff make sense to you guys?
> |
> |Cheers,
> |
> |Francisco
> |
> |On Thu, 21 Mar 2002, Bill Burke wrote:
> |
> |>
> |>
> |> > -----Original Message-----
> |> > From: marc fleury [mailto:[EMAIL PROTECTED]]
> |> > Sent: Thursday, March 21, 2002 7:02 PM
> |> > To: Bill Burke; Jboss-Dev
> |> > Subject: RE: [JBoss-dev] ProxyFactory/JRMPInvoker needs redesign?
> |> >
> |> >
> |> > This is the last piece of the puzzle,
> |> >
> |> >
> |>
> |> Not the last piece.  Still need multiple invokers to one container....But
> |> we're getting closer.
> |>
> |> >
> |> > |-----Original Message-----
> |> > |From: [EMAIL PROTECTED]
> |> > |[mailto:[EMAIL PROTECTED]]On
> |Behalf Of Bill
> |> > |Burke
> |> > |Sent: Wednesday, March 20, 2002 2:59 PM
> |> > |To: Jboss-Dev
> |> > |Subject: [JBoss-dev] ProxyFactory/JRMPInvoker needs redesign?
> |> > |
> |> > |
> |> > |Hey,
> |> > |
> |> > |Jason made a good point.  If you want to use a different
> |invoker for your
> |> > |container you currently have to provide a new container
> |configuration and
> |> > |also specify the new invoker in jboss.xml.  This is too much
> |> > configuration.
> |> >
> |> > clearly
> |> >
> |> > |A better design might be as follows.
> |> > |
> |> > |1. The ProxyFactory becomes an mbean.
> |> >
> |> > ok
> |> >
> |> > |2. EJB Containers deal with ProxyFactories, not invokers, so no more
> |> > |<home-invoker> or <bean-invoker> configurations.
> |> >
> |> > well yeah that was kind of funky.
> |> >
> |> > |So, the code for the container on deployment would look as follows:
> |> > |
> |> > |1. container looks up <home-proxy-factory> mbean in the
> |> > registry.  This xml
> |> > |attribute can be overriden in jboss.xml and defaults to the
> |> > |RmiProxyFactory.
> |> >
> |> > ok.
> |> >
> |> > |2. Casts the mbean to a ProxyFactory
> |> > |3. calls: proxyFactory.bindProxies(jndiName, ...)
> |> > |
> |> > |The MBEAN configuration of the ProxyFactory would look as
> |follows.  The
> |> > |ProxyFactory contains information about what invoker to use.
> |Also notice
> |> >
> |> > ok in a first phase, I would let that configuration be "free"
> |in the sense
> |> > that I would take ALL the invokers and just bind the right stuff
> |> >
> |> > marcf
> |> >
> |> > |that client interceptors are defined here as well.  Really, only
> |> > the proxy
> |> > |factory cares about client interceptors.  The IIOP Proxy Factory for
> |> > |instance, will probably not deal with client interceptors
> |because it will
> |> > |probably be passing back a CORBA Object reference to the client
> |> > rather than
> |> > |a serialized Java Proxy class.
> |> > |
> |> > |  <mbean code="org.jboss.invocation.jrmp.server.RmiProxyFactory"
> |> > |         name="jboss:service=invoker,type=jrmp">
> |> > |    <attribute name="RMIObjectPort">4444</attribute>
> |> > |    <!--
> |> > |    <attribute
> |name="invoker">jboss:service=invoker,type=jrmp</attribute>
> |> > |    <attribute name="clientInterceptors">
> |> > |           <home>
> |> > |
> |> > <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
> |> > |
> |> > <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
> |> > |           </home>
> |> > |           <bean>
> |> > |
> |> > |<interceptor>org.jboss.proxy.ejb.EntityInterceptor</interceptor>
> |> > |
> |> > <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
> |> > |           </bean>
> |> > |           <list-entity>
> |> > |
> |> > |<interceptor>org.jboss.proxy.ejb.ListEntityInterceptor</interceptor>
> |> > |
> |> > <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
> |> > |
> |> > |<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
> |> > |           </list-entity>
> |> > |    </attribute>
> |> > |  </mbean>
> |> > |
> |> > |
> |> > |The good thing about this is that everything is separated.
> |> > |
> |> > |1. JRMPInvoker knows how to invoke on MBeans from an RMI request.
> |> > |2. RmiProxyFactory knows how to create EJB proxies for RMI clients
> |> > |3. standardjboss.xml knows how to configure the EJB container
> |> > and does not
> |> > |worry about how the container is invoked upon.
> |> > |4. The EJB Container knows how to serve up MBean EJB requests.
> |> > It doesn't
> |> > |worry about proxy creation nor does it manage how requests are
> |> > routed from
> |> > |the client.
> |> > |
> |> > |Let me know what you think and I'll implement it.  (Well, eventually
> |> > |implement it :)
> |> > |
> |> > |Bill
> |> > |
> |> > |
> |> > |_______________________________________________
> |> > |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
> |>
> |
> |
> |_______________________________________________
> |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
> 


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to