Skip to main content

[ejb-spec issues] [JIRA] Commented: (EJB_SPEC-109) Disambiguating broken default references

  • From: "ljnelson (JIRA)" <jira-no-reply@...>
  • To: issues@...
  • Subject: [ejb-spec issues] [JIRA] Commented: (EJB_SPEC-109) Disambiguating broken default references
  • Date: Sat, 27 Jul 2013 05:00:25 +0000 (UTC)
  • Auto-submitted: auto-generated


    [ 
https://java.net/jira/browse/EJB_SPEC-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=366872#action_366872
 ] 

ljnelson commented on EJB_SPEC-109:
-----------------------------------

I did want to add that in our case we have probably hundreds of classes with 
references in them—I feel that perhaps people are laboring under the delusion 
that real applications must only have to deal with a few of these things.  
That is incorrect.

At build/deploy time, we combine them together into different configurations, 
based on the needs of our customers.  There are probably 10 or 20 of these 
outstanding.  Quick: which ones have which references?  Your guess is as good 
as mine without exhaustive research—which the tools of the Java EE ecosystem, 
incidentally, don't make easy either, but that's a separate feature request.  
:-)

Again, hundreds of references that might need to be overridden.

So any given application has a collection of dozens of references—sometimes 
more—that all need assigning.

We need an easy way to be able to say: "All references of this type that are 
otherwise unqualified need to be assigned this implementation class (this 
EJB)."  The current means of configuring things just doesn't do it.  Thanks!

> Disambiguating broken default references
> ----------------------------------------
>
>                 Key: EJB_SPEC-109
>                 URL: https://java.net/jira/browse/EJB_SPEC-109
>             Project: ejb-spec
>          Issue Type: Improvement
>            Reporter: dblevins
>             Fix For: Future version
>
>
> This is something I brought up EJB 3.1, but didn't drive enough for it to 
> make it to the spec -- we had a lot of priorities.  Logging it so we can 
> tackle it in EJB 3.3
> The issue is there's no easy solution for dealing with application that has 
> made extensive use of and later grows out of the default/type-based 
> matching rules.  For example, an application might have 100 EJBs that might 
> reference the bean of {{SomeType}} like so:
> {code}
> @EJB
> SomeType bean;
> {code}
> This works fine as long as there is only one bean of type {{SomeType}}.  
> The day another bean is added of type {{SomeType}} the application will 
> break.  If there are 100 references like the above, the only recourse is to 
> create 100 xml overrides or change the code in 100 places.  Neither is 
> ideal.
> What we need is some syntax to communicate, "when I am not specific, I mean 
> X".  Some way to flag or map one of the beans of {{SomeType}} as the 
> default.  This would allow a second {{SomeType}} to be introduced without 
> breaking the existing unnamed {{SomeType}} references.
> There are a few possible approaches to this syntax.  One avenue is xml, 
> allow some way to say "this is the default".  Possibly by updating the 
> schema to allow <ejb-ref> and <ejb-local-ref> declarations that only 
> contain a type and not a name, such as:
> {code:xml}
> <ejb-local-ref>
>   <local>org.some.awesome.code.SomeType</local>
>   <ejb-link>Fred</ejb-link>
> </ejb-local-ref>
> {code}
> The intention here would be that this would override all @EJB references to 
> SomeType that do *not* explicitly set a name.  So this reference would be 
> overridden:
> {code}
> @EJB
> private SomeType bean;
> {code}
> This reference would not be overridden:
> {code}
> @EJB(name="Sam")
> private SomeType bean;
> {code}
> The xml declaration rules would be similar to those of the assembly 
> descriptor, such that more specific declarations always win -- i.e. xml 
> declarations that use the name take precedence over declarations that do 
> not.  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://java.net/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[ejb-spec issues] [JIRA] Created: (EJB_SPEC-109) Disambiguating broken default references

dblevins (JIRA) 07/26/2013

[ejb-spec issues] [JIRA] Commented: (EJB_SPEC-109) Disambiguating broken default references

ljnelson (JIRA) 07/26/2013

[ejb-spec issues] [JIRA] Commented: (EJB_SPEC-109) Disambiguating broken default references

ljnelson (JIRA) 07/27/2013

[ejb-spec issues] [JIRA] Commented: (EJB_SPEC-109) Disambiguating broken default references

arjan tijms (JIRA) 07/28/2013
 
 
Close
loading
Please Confirm
Close