You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "joungdal.nam (JIRA)" <ji...@apache.org> on 2017/09/29 07:37:01 UTC

[jira] [Updated] (IGNITE-6531) Need to add a 'required' field to the SpringResource annotation.

     [ https://issues.apache.org/jira/browse/IGNITE-6531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

joungdal.nam updated IGNITE-6531:
---------------------------------
    Description: 
In my test environment, only the client is used(setForceServerMode(true)). Operating environments use clients and servers.
Sometimes Injection is not required in the test environment.
NoSuchBeanDefinitionException is not generated by specifying a value of false.

public @interface SpringResource {
	
	/**
	 * Declares whether the annotated dependency is required.
	 * <p>Defaults to {@code true}.
	 */
	boolean required() default true;
..

        if (!StringUtils.isEmpty(beanName)) {
        	try {
        		bean = springCtx.getBean(beanName);
        	} catch(NoSuchBeanDefinitionException ne) {
        		if(annotation.required()) {
        			throw ne;
        		}
        	}
        }
        else {
        	try {
        		bean = springCtx.getBean(beanCls);
        	} catch(NoSuchBeanDefinitionException ne) {
        		if(annotation.required()) {
        			throw ne;
        		}
        	}
        }



  was:
In my test environment, only the client is used(setForceServerMode(true)). Operating environments use clients and servers.
Sometimes Injection is not required in the test environment.
NoSuchBeanDefinitionException is not generated by specifying a value of false.

public @interface SpringResource {
	
	/**
	 * Declares whether the annotated dependency is required.
	 * <p>Defaults to {@code true}.
	 */
	boolean required() default true;




> Need to add a 'required' field to the SpringResource annotation.
> ----------------------------------------------------------------
>
>                 Key: IGNITE-6531
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6531
>             Project: Ignite
>          Issue Type: Improvement
>          Components: spring
>    Affects Versions: 2.3
>            Reporter: joungdal.nam
>            Priority: Minor
>
> In my test environment, only the client is used(setForceServerMode(true)). Operating environments use clients and servers.
> Sometimes Injection is not required in the test environment.
> NoSuchBeanDefinitionException is not generated by specifying a value of false.
> public @interface SpringResource {
> 	
> 	/**
> 	 * Declares whether the annotated dependency is required.
> 	 * <p>Defaults to {@code true}.
> 	 */
> 	boolean required() default true;
> ..
>         if (!StringUtils.isEmpty(beanName)) {
>         	try {
>         		bean = springCtx.getBean(beanName);
>         	} catch(NoSuchBeanDefinitionException ne) {
>         		if(annotation.required()) {
>         			throw ne;
>         		}
>         	}
>         }
>         else {
>         	try {
>         		bean = springCtx.getBean(beanCls);
>         	} catch(NoSuchBeanDefinitionException ne) {
>         		if(annotation.required()) {
>         			throw ne;
>         		}
>         	}
>         }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)