There is a 'soft' dependency between the JNDI Binding and the Componentɸ2(START).

Can you clarify why we need a binding per entry and a binding per view?
To me the env entries can be expressed as one environment references group.
The views can also be expressed as one unit.
I don't think it really makes a functional difference which way, but I'm curious.

To me the CompName bit is misleading. It feels like there is a relation to java:comp. Wouldn't 'Binding' make more sense?
jboss.naming.context.*.CompName

'Lookup Name Binding' and 'JNDI Binding' are the same thing. So we need to stick to one conceptual name.

I think 'jboss.naming.context.java.comp."foo.ear"."bar.jar".MyComponent.env.myField' doesn't cover all cases.
There is the 'on behalf of' part: [<app-name>.].<module-name>.<bean-name> and the env entry name (e.g. env/
com.example.MyApp/myDatabase). Ah I see it, myField should be env-entry-name.

Can we get a better visibility on the SPI for resource providers?
At some point (for example) @PersistenceContext needs to be resolved into something that the EnvEntryBinding service can consume.

Carlo

On 02/06/2011 09:07 PM, David M. Lloyd wrote:
I've been working on getting EE JNDI services organized in a spec-consistent (and start-order-consistent) manner.  The first part of this effort - dividing the EE component service itself into two phases - was relatively simple and is now complete; however it appears that our JNDI services are not entirely prepared for this organizational change.  I've attached a diagram which illustrates the desired service layout for EE components which covers injection and start order, and should be cycle-proof (we'll know for sure once we implement EJB "eager" singletons).

Anyway please review the graph and let me know if there are any questions, especially if I've missed any cases, and in the meantime I'll be working on getting the deployers straightened out.  The arrow means "depends-on".

Some important facts not depicted:

- Components (as can be seen from the graph) are bound into JNDI possibly before they are started; however attempting to create a new component instance will block until the "START" phase is complete (note that for some component types, you can acquire a client proxy without actually causing instantiation to occur).

- The service naming scheme is not final, especially for JNDI contexts.

- Note that not all env. entries necessarily imply injection; it is also possible to specify immediate values in the deployment descriptor.  To achieve this in MSC, the env. entry service should have an Injector which can be immediate for descriptor-provided (or defaulted) values or it can be a dependency for lookup values.

- Note that all inter-component dependencies are expressed upon JNDI bindings (jboss.naming.context.* services), not on the actual components (jboss.deployment.unit.*.component.* services).
_______________________________________________ jboss-as7-dev mailing list jboss-as7-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-as7-dev