Skip to content

Commit 0a31892

Browse files
committed
Fixed handling of @resource's shareable value
Issue: SPR-10931 (cherry picked from commit 7bc3e3b)
1 parent 6fb2c72 commit 0a31892

File tree

1 file changed

+7
-19
lines changed

1 file changed

+7
-19
lines changed

spring-context/src/main/java/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.java

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -472,11 +472,8 @@ protected abstract class LookupElement extends InjectionMetadata.InjectedElement
472472

473473
public LookupElement(Member member, PropertyDescriptor pd) {
474474
super(member, pd);
475-
initAnnotation((AnnotatedElement) member);
476475
}
477476

478-
protected abstract void initAnnotation(AnnotatedElement ae);
479-
480477
/**
481478
* Return the resource name for the lookup.
482479
*/
@@ -511,14 +508,11 @@ public final DependencyDescriptor getDependencyDescriptor() {
511508
*/
512509
private class ResourceElement extends LookupElement {
513510

514-
protected boolean shareable = true;
511+
protected final boolean shareable;
515512

516513
public ResourceElement(Member member, PropertyDescriptor pd) {
517514
super(member, pd);
518-
}
519-
520-
@Override
521-
protected void initAnnotation(AnnotatedElement ae) {
515+
AnnotatedElement ae = (AnnotatedElement) member;
522516
Resource resource = ae.getAnnotation(Resource.class);
523517
String resourceName = resource.name();
524518
Class<?> resourceType = resource.type();
@@ -558,16 +552,13 @@ protected Object getResourceToInject(Object target, String requestingBeanName) {
558552
*/
559553
private class WebServiceRefElement extends LookupElement {
560554

561-
private Class<?> elementType;
555+
private final Class<?> elementType;
562556

563-
private String wsdlLocation;
557+
private final String wsdlLocation;
564558

565559
public WebServiceRefElement(Member member, PropertyDescriptor pd) {
566560
super(member, pd);
567-
}
568-
569-
@Override
570-
protected void initAnnotation(AnnotatedElement ae) {
561+
AnnotatedElement ae = (AnnotatedElement) member;
571562
WebServiceRef resource = ae.getAnnotation(WebServiceRef.class);
572563
String resourceName = resource.name();
573564
Class<?> resourceType = resource.type();
@@ -647,14 +638,11 @@ protected Object getResourceToInject(Object target, String requestingBeanName) {
647638
*/
648639
private class EjbRefElement extends LookupElement {
649640

650-
private String beanName;
641+
private final String beanName;
651642

652643
public EjbRefElement(Member member, PropertyDescriptor pd) {
653644
super(member, pd);
654-
}
655-
656-
@Override
657-
protected void initAnnotation(AnnotatedElement ae) {
645+
AnnotatedElement ae = (AnnotatedElement) member;
658646
EJB resource = ae.getAnnotation(EJB.class);
659647
String resourceBeanName = resource.beanName();
660648
String resourceName = resource.name();

0 commit comments

Comments
 (0)