Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 除非添加了validate back,否则不会调用iPOJO组件注入回调_Java_Osgi_Ipojo - Fatal编程技术网

Java 除非添加了validate back,否则不会调用iPOJO组件注入回调

Java 除非添加了validate back,否则不会调用iPOJO组件注入回调,java,osgi,ipojo,Java,Osgi,Ipojo,除非添加validate回调方法,否则不会调用iPOJO组件的注入回调 import javax.swing.DefaultBoundedRangeModel; import org.apache.felix.ipojo.annotations.*; import org.osgi.service.log.*; @Component @Instantiate @Provides public class MyBoundedRangeModel extends DefaultBoundedRan

除非添加validate回调方法,否则不会调用iPOJO组件的注入回调

import javax.swing.DefaultBoundedRangeModel;
import org.apache.felix.ipojo.annotations.*;
import org.osgi.service.log.*;

@Component
@Instantiate
@Provides
public class MyBoundedRangeModel extends DefaultBoundedRangeModel {

  @Requires
  org.osgi.service.log.LogService logService;

  @Bind
  public void bindLogService(LogService logService) {
    System.out.println("Binded the log service");
  }

  @Unbind
  public void unbindLogService(LogService logService) {
    System.out.println("Unbinded the log service");
  }
//  @Validate
//  public void validate(){
//      System.out.println("Validated the pdf bounded range model");
//  }
}
但是OSGi控制台列出了当我键入命令“instances”时该组件是有效的。 有什么问题吗

g! instances
Instance org.apache.felix.ipojo.arch.gogo.Arch-0 -> valid 
Instance temp.MyBoundedRangeModel-0 -> valid 


g! Instance temp.MyBoundedRangeModel-0
instance name="temp.MyBoundedRangeModel-0" state="valid" bundle="7" component.type="temp.MyBoundedRangeModel"
  handler name="org.apache.felix.ipojo:requires" state="valid"
    requires specification="org.osgi.service.log.LogService" id="org.osgi.service.log.LogService" optional="false" aggregate="false" proxy="true" binding-policy="dynamic" state="resolved"
      selected service.id="22"
      matches service.id="22"
    requires specification="org.osgi.service.log.LogService" id="LogService" optional="false" aggregate="false" proxy="true" binding-policy="dynamic" state="resolved"
      selected service.id="22"
      matches service.id="22"
  handler name="org.apache.felix.ipojo:provides" state="valid"
    provides specifications="[javax.swing.BoundedRangeModel,java.io.Serializable]" state="registered" service.id="51"
      property name="instance.name" value="temp.MyBoundedRangeModel-0"
      property name="factory.name" value="temp.MyBoundedRangeModel"
  handler name="org.apache.felix.ipojo:architecture" state="valid"

创建对象时将调用@Bind回调(在需要时,在首次使用发布的服务时也是如此)

与添加@Validate回调不同,只有在需要提前创建对象时,才使用:

@Component(immediate=true)