For leveraging openejb remote jndi system idea, I thought about it, to add "global/app xxx" "openejb/deployment/xxx" mapping in openejb so that when a jndi request comes, openejb could return the requested object with following path
java:global/xxxxx name ----> "openejb/deployment/xxxx" name ---> ejb proxy object. But we still need to handle the client side, how do we wrap the java:global and java:app jndi lookup with something like ClientEjbReference so that it could genereate a remote openejb jndi request in initialContext.lookup() automatically ? And we need to bind a environment entries binding copy to openejb jndi ? Another possible way is copying binding in AppClientModuleBuilder. to 1, get the server global and app bindings. 2, copy the bindings to appclient bindings. Pro: easy to understand. Cons: the appclient can only see the global/app binding just before it was deployed. On Sun, Jun 12, 2011 at 2:51 PM, David Jencks <[email protected]>wrote: > I think we should use the openejb remote jndi system. We might need to > modify it. AFAIK the only things it makes sense to get to the app client > are environment entries and remote ejbs. > > > thanks > david jencks > > > On Jun 11, 2011, at 8:28 PM, Shawn Jiang wrote: > > > Curretly, we only include the ear global and app context to application > client context. because applient is running in different VM other than > server itself. As a result, you can't use JNDI lookup to get the server > global/app reference in appclient. > > > > Sure we want to add the global and app context in whole server to > appclient module. Currently, following code was used to create the app > client context at build time. > > > > ---------------------------------- > > > > > org.apache.geronimo.client.builder.AppClientModuleBuilder.addGBeans(EARContext, > Module, Bundle, Collection) { > > > > .... > > AbstractName jndiContextName = > earContext.getNaming().createChildName(appClientDeploymentContext.getModuleName(), > "StaticJndiContext", "StaticJndiContext"); > > GBeanData jndiContextGBeanData = new GBeanData(jndiContextName, > StaticJndiContextPlugin.class); > > jndiContextGBeanData.setAttribute("context", > appClientModule.getJndiContext()); > > ...... > > > > } > > > > ------------------------------- > > > > > > Can anyone shed some light on how to bring server global/app context to > applient context ? > > > > -- > > Shawn > > -- Shawn
