Fixed handling of @Resource's shareable value

Issue: SPR-10931
(cherry picked from commit 7bc3e3b)
This commit is contained in:
Juergen Hoeller 2013-09-25 12:27:17 +02:00
parent 6fb2c72a55
commit 0a31892475
1 changed files with 7 additions and 19 deletions

View File

@ -472,11 +472,8 @@ public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBean
public LookupElement(Member member, PropertyDescriptor pd) {
super(member, pd);
initAnnotation((AnnotatedElement) member);
}
protected abstract void initAnnotation(AnnotatedElement ae);
/**
* Return the resource name for the lookup.
*/
@ -511,14 +508,11 @@ public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBean
*/
private class ResourceElement extends LookupElement {
protected boolean shareable = true;
protected final boolean shareable;
public ResourceElement(Member member, PropertyDescriptor pd) {
super(member, pd);
}
@Override
protected void initAnnotation(AnnotatedElement ae) {
AnnotatedElement ae = (AnnotatedElement) member;
Resource resource = ae.getAnnotation(Resource.class);
String resourceName = resource.name();
Class<?> resourceType = resource.type();
@ -558,16 +552,13 @@ public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBean
*/
private class WebServiceRefElement extends LookupElement {
private Class<?> elementType;
private final Class<?> elementType;
private String wsdlLocation;
private final String wsdlLocation;
public WebServiceRefElement(Member member, PropertyDescriptor pd) {
super(member, pd);
}
@Override
protected void initAnnotation(AnnotatedElement ae) {
AnnotatedElement ae = (AnnotatedElement) member;
WebServiceRef resource = ae.getAnnotation(WebServiceRef.class);
String resourceName = resource.name();
Class<?> resourceType = resource.type();
@ -647,14 +638,11 @@ public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBean
*/
private class EjbRefElement extends LookupElement {
private String beanName;
private final String beanName;
public EjbRefElement(Member member, PropertyDescriptor pd) {
super(member, pd);
}
@Override
protected void initAnnotation(AnnotatedElement ae) {
AnnotatedElement ae = (AnnotatedElement) member;
EJB resource = ae.getAnnotation(EJB.class);
String resourceBeanName = resource.beanName();
String resourceName = resource.name();