iPOJO는 원시 유형 구성 요소의 인스턴스를 포함하는 합성을 생성하는 메커니즘을 제공합니다. 필자는 iPOJO가 컴포지트 서브 인스턴스가 제공하는 서비스에 대한 격리가 컴포지트 외부에서 액세스되는 것을 제공하는 메커니즘을 이해하는 데 관심이 있습니다. exmaple를 들어iPOJO Composite에서 격리가 어떻게 작동합니까?
은 (iPOJO API를 사용하여) 나는 다음과 같은 구성을 가정
PrimitiveComponentType prov = createAProvider(); // Create a primitive type
PrimitiveComponentType cons = createAConsumer(); // Create another primitive type
CompositeComponentType type = new CompositeComponentType()
.setBundleContext(context)
.setComponentTypeName("comp1")
.addInstance(new Instance(prov.getFactory().getName())) // Create an instance in the composite
.addInstance(new Instance(cons.getFactory().getName()));
ComponentInstance ci = type.createInstance();
이의 구성 요소 "잠은"HelloService
라는 서비스 인터페이스를 구현한다고 가정 해 봅시다. 이 서비스가 격리된다는 것은 무엇을 의미합니까?
ServiceReference ref =
context.getServiceReference(HelloService.class.getName());
이 참조 정말 그 범위이기 때문에 실패 할 것입니다 합성물 바깥?
컴포지트 내부의 구성 요소에 컴포지트 외부에 게시 된 서비스에 대한 참조가 있으면 어떻게됩니까? 이 참조는 또한 실패 할 것입니까?
참고 : 당분간은 가져 오거나 내 보낸 서비스에 관심이 없습니다.