This is deprecated because the runtime implementation should not be discovering (on startup or on each request) what the configuration is. The full model is available to the builder framework and it should configure the runtime context with the information the context needs to operate. This avoids the anti-pattern where components are passed large configuration model objects that need to be parsed to figure out what they do (the injection-of-configuration anti-model as opposed to the injection-of-dependency we want to use).
Taking your JSON binding as an example, it looks like what it is doing is using the JSONRPCBridge to route requests to the appropriate EntryPointContext based on data in the input stream. An alternative way that does not require the servlet to have access to the model is to have the EntryPointContext themselves register with the servlet; taking this further, the binding implementation could define a SCA system component that bridges to the host environment (to register URL mappings) and to which the EPs can autowire. -- Jeremy On 4/25/06, ant elder <[EMAIL PROTECTED]> wrote: > The getComposite method in CompositeContext has been deprecated but both the > Axis2 and JSON-RPC binding are using it to get at the Module so as to find > all the entryPoints in the Module. Whats the correct way to be doing this > now? > > They use code like: > > ServletContext servletContext = config.getServletContext(); > CompositeContext moduleContext = (CompositeContext) > servletContext.getAttribute(TuscanyServletListener.MODULE_COMPONENT_NAME); > Module module = (Module) moduleContext.getComposite(); > > or for the full details see initEntryPointProxys in > http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/bindings/binding.jsonrpc/src/main/java/org/apache/tuscany/binding/jsonrpc/handler/JSONRPCEntryPointServlet.java > > Thanks, > > ...ant > >
