|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.proxy.ejb.ProxyFactory
public class ProxyFactory
As we remove the one one association between container STACK and invoker we keep this around. IN the future the creation of proxies is a task done on a container basis but the container as a logical representation. In other words, the container "Entity with RMI/IIOP" is not a container stack but an association at the invocation level that points to all metadata for a given container.
In other words this is here for legacy reason and to not disrupt the container at once. In particular we declare that we "implement" the container invoker interface when we are just implementing the Proxy generation calls. Separation of concern. todo eliminate this class, at least in its present form.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jboss.ejb.GenericEntityObjectFactory |
---|
GenericEntityObjectFactory.UTIL |
Field Summary | |
---|---|
protected static String |
BEAN_INTERCEPTOR
|
protected ArrayList |
beanInterceptorClasses
The proxy-config/client-interceptors/bean stack |
protected Invoker |
beanInvoker
|
protected Container |
container
|
javax.ejb.EJBMetaData |
ejbMetaData
|
protected javax.ejb.EJBHome |
home
|
protected static String |
HOME_INTERCEPTOR
|
protected ArrayList |
homeInterceptorClasses
The proxy-config/client-interceptors/home stack |
protected Invoker |
homeInvoker
|
protected boolean |
includeIClientIface
A flag indicating if the IClientContainer interface should be added |
protected InvokerProxyBindingMetaData |
invokerMetaData
|
protected boolean |
isServiceEndpointOnly
|
protected javax.management.ObjectName |
jmxName
|
protected int |
jmxNameHash
|
protected String |
jndiBinding
|
protected static String |
LIST_ENTITY_INTERCEPTOR
|
protected ArrayList |
listEntityInterceptorClasses
The proxy-config/client-interceptors/entity-list stack |
protected static org.jboss.logging.Logger |
log
|
protected Constructor |
proxyClassConstructor
|
protected javax.ejb.EJBObject |
statelessObject
|
Constructor Summary | |
---|---|
ProxyFactory()
|
Method Summary | |
---|---|
protected void |
bindProxy()
The bindProxy method creates the home proxy and binds
the home into jndi. |
void |
create()
|
void |
destroy()
|
Object |
getEJBHome()
This method is called whenever the EJBHome implementation for this container is needed. |
javax.ejb.EJBMetaData |
getEJBMetaData()
This method is called whenever the metadata for this container is needed. |
Collection |
getEntityCollection(Collection ids)
Create a Collection EJBObject proxies for an entity given its primary keys. |
Object |
getEntityEJBObject(Object id)
Create an EJBObject proxy for an entity given its primary key. |
Object |
getStatefulSessionEJBObject(Object id)
Create an EJBObject proxy for a stateful session given its session id. |
Object |
getStatelessSessionEJBObject()
Return the EJBObject proxy for stateless sessions. |
protected void |
initInterceptorClasses()
Load the client interceptor classes |
boolean |
isIdentical(Container container,
Invocation mi)
Protocol specific isIdentical implementation |
protected void |
loadInterceptorChain(ArrayList chain,
ClientContainer client)
The loadInterceptorChain create instances of interceptor
classes previously loaded in loadInterceptorClasses |
protected void |
loadInterceptorClasses(ArrayList classes,
Element interceptors)
The loadInterceptorClasses load an interceptor classes from
configuration |
protected void |
rebindHomeProxy()
|
void |
setContainer(Container con)
This callback is set by the container so that the plugin may access it |
void |
setInvokerBinding(String binding)
Set the invoker jndi binding |
void |
setInvokerMetaData(InvokerProxyBindingMetaData metadata)
Set the invoker meta data so that the ProxyFactory can initialize properly |
protected void |
setupInvokers()
Lookup the invokers in the object registry. |
void |
start()
Become fully available. |
void |
stop()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final String HOME_INTERCEPTOR
protected static final String BEAN_INTERCEPTOR
protected static final String LIST_ENTITY_INTERCEPTOR
protected static org.jboss.logging.Logger log
public javax.ejb.EJBMetaData ejbMetaData
protected boolean isServiceEndpointOnly
protected javax.ejb.EJBHome home
protected javax.ejb.EJBObject statelessObject
protected String jndiBinding
protected javax.management.ObjectName jmxName
protected int jmxNameHash
protected Invoker beanInvoker
protected Invoker homeInvoker
protected InvokerProxyBindingMetaData invokerMetaData
protected ArrayList homeInterceptorClasses
protected ArrayList beanInterceptorClasses
protected ArrayList listEntityInterceptorClasses
protected boolean includeIClientIface
protected Container container
protected Constructor proxyClassConstructor
Constructor Detail |
---|
public ProxyFactory()
Method Detail |
---|
public void setContainer(Container con)
ContainerPlugin
setContainer
in interface ContainerPlugin
con
- The container using this plugin. This may be null if the
plugin is being disassociated from a container.public void setInvokerMetaData(InvokerProxyBindingMetaData metadata)
EJBProxyFactory
setInvokerMetaData
in interface EJBProxyFactory
public void setInvokerBinding(String binding)
EJBProxyFactory
setInvokerBinding
in interface EJBProxyFactory
public void create() throws Exception
create
in interface org.jboss.system.Service
Exception
public void start() throws Exception
start
in interface org.jboss.system.Service
Exception
protected void setupInvokers() throws Exception
Exception
protected void initInterceptorClasses() throws Exception
Exception
protected void loadInterceptorClasses(ArrayList classes, Element interceptors) throws Exception
loadInterceptorClasses
load an interceptor classes from
configuration
Exception
- if an error occursprotected void loadInterceptorChain(ArrayList chain, ClientContainer client) throws Exception
loadInterceptorChain
create instances of interceptor
classes previously loaded in loadInterceptorClasses
Exception
- if an error occursprotected void bindProxy() throws Exception
bindProxy
method creates the home proxy and binds
the home into jndi. It also creates the InvocationContext and client
container and interceptor chain.
Exception
- if an error occursprotected void rebindHomeProxy() throws NamingException
NamingException
public void stop()
stop
in interface org.jboss.system.Service
public void destroy()
destroy
in interface org.jboss.system.Service
public boolean isIdentical(Container container, Invocation mi)
EJBProxyFactory
isIdentical
in interface EJBProxyFactory
container
- the containermi
- the invocation
public javax.ejb.EJBMetaData getEJBMetaData()
EJBProxyFactory
getEJBMetaData
in interface EJBProxyFactory
public Object getEJBHome()
EJBProxyFactory
getEJBHome
in interface EJBProxyFactory
public Object getStatelessSessionEJBObject()
getStatelessSessionEJBObject
in interface EJBProxyFactory
public Object getStatefulSessionEJBObject(Object id)
getStatefulSessionEJBObject
in interface EJBProxyFactory
id
- The id of the session.
public Object getEntityEJBObject(Object id)
getEntityEJBObject
in interface EJBProxyFactory
getEntityEJBObject
in interface GenericEntityObjectFactory
id
- The primary key of the entity.
public Collection getEntityCollection(Collection ids)
getEntityCollection
in interface EJBProxyFactory
ids
- Enumeration of primary keys.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |