title: How to Inject produces again
body: <p>Using javaee beans, is there possibility to inject properties again if they are, for example, null?</p>
  <p>My simplified code:</p>
  <p><strong>Service</strong> makes rest request to <em>another</em> service, and it get host property from a <strong>PropertyProduces</strong> that takes it from a third <em>config</em> service. For example, when I first time making <strong>RestService.call()</strong>, <em>config</em> service is disabled, so it return host=null. I am not able to  <em>callAnotherService</em> properly, this is fine. Then <em>config</em> service became enabled, but when I make second <strong>RestService.call()</strong>, <em>host</em> is already null and it even do not want to get to <strong>PropertyProduces.produceString</strong></p>
  <p>Can I somehow intercept usage of <em>host</em> property, check if it is null and force it to inject from Produces again?</p>
  <pre><code>@ApplicationScoped
  public class Service {
      @Property
      private final String host;
  
      public void callAnotherService() {
          callRestMethod(host)
      }
  }
  </code></pre>
  <pre><code>@ApplicationScoped
  public class PropertyProduces {
  
      @Inject
      private Config config;
  
      @Property
      @Produces
      public String produceString(InjectionPoint ip) {
          return this.config.getString(ip.getMember().getName());
      }
  }
  </code></pre>
  <pre><code>@Path(&quot;/&quot;)
  @ApplicationScoped
  public class RestService {
      @Inject
      private Service service;
    
      @POST
      @Path(&quot;/call&quot;)
      public Response call(Request request)
      {
          this.service.callAnotherService();
      }
  }
  </code></pre>
  <p>I know I can change class <strong>Service</strong> to @RequestScoped, so at different rest requests will be created different <strong>Service</strong> instances and host will be produces everytime. But is there another posibility, somehow changing PropertyProduces or making Interceptors?</p>