org.apache.polygene.api.structure.Module.findServices()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.5k)|赞(0)|评价(0)|浏览(96)

本文整理了Java中org.apache.polygene.api.structure.Module.findServices()方法的一些代码示例,展示了Module.findServices()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Module.findServices()方法的具体详情如下:
包路径:org.apache.polygene.api.structure.Module
类名称:Module
方法名:findServices

Module.findServices介绍

暂无

代码示例

代码示例来源:origin: apache/attic-polygene-java

@SuppressWarnings( "unchecked" )
  ServiceReference locateService( Application anApplication )
  {
    if( layerName != null )
    {
      Module module = anApplication.findModule( layerName, moduleName );
      return module.findServices( serviceType )
             .filter( ref -> ref.identity().toString().equals( serviceId ) )
             .findFirst().orElse( null );
    }
    return null;
  }
}

代码示例来源:origin: apache/attic-polygene-java

protected Stream<ServiceReference<Object>> getServiceReferences( final InjectionContext context )
  {
    if( serviceQualifier == null )
    {
      return context.module().instance().findServices( serviceType );
    }
    else
    {
      return context.module().instance().findServices( serviceType ).filter( serviceQualifier );
    }
  }
}

代码示例来源:origin: apache/attic-polygene-java

public boolean isAvailable()
{
  Class<?> mainType = serviceDescriptor.types().findFirst().orElse( null );
  ServiceReference<?> first = module.findServices( mainType )
                   .filter( withId( serviceDescriptor.identity().toString() ) )
                   .findFirst().orElse( null );
  return first != null && first.isAvailable();
}

代码示例来源:origin: apache/attic-polygene-java

public boolean isActive()
{
  Class<?> mainType = serviceDescriptor.types().findFirst().orElse( null );
  ServiceReference<?> first = module.findServices( mainType )
                   .filter( withId( serviceDescriptor.identity().toString() ) )
                   .findFirst().orElse( null );
  return first != null && first.isActive();
}

代码示例来源:origin: org.apache.polygene.libraries/org.apache.polygene.library.jmx

public boolean isActive()
{
  Class<?> mainType = serviceDescriptor.types().findFirst().orElse( null );
  ServiceReference<?> first = module.findServices( mainType )
                   .filter( withId( serviceDescriptor.identity().toString() ) )
                   .findFirst().orElse( null );
  return first != null && first.isActive();
}

代码示例来源:origin: org.apache.polygene.libraries/org.apache.polygene.library.jmx

public boolean isAvailable()
{
  Class<?> mainType = serviceDescriptor.types().findFirst().orElse( null );
  ServiceReference<?> first = module.findServices( mainType )
                   .filter( withId( serviceDescriptor.identity().toString() ) )
                   .findFirst().orElse( null );
  return first != null && first.isAvailable();
}

代码示例来源:origin: apache/attic-polygene-java

public String restart()
  {
    ServiceReference<?> serviceRef = module.findServices( serviceDescriptor.types()
                                        .findFirst().orElse( null ) )
                        .filter( withId( serviceDescriptor.identity().toString() ) )
                        .findFirst().orElse( null );
    if( serviceRef != null )
    {
      try
      {
        ( (Activation) serviceRef ).passivate();
        ( (Activation) serviceRef ).activate();
        return "Restarted service";
      }
      catch( Exception e )
      {
        return "Could not restart service:" + e.getMessage();
      }
    }
    else
    {
      return "Could not find service";
    }
  }
}

代码示例来源:origin: apache/attic-polygene-java

protected ServiceReference<Object> getServiceReference( InjectionContext context )
{
  try
  {
    if( serviceQualifier == null )
    {
      return context.module().instance().findService( serviceType );
    }
    else
    {
      return context.module().instance().findServices( serviceType )
             .filter( serviceQualifier ).findFirst().orElse( null );
    }
  }
  catch( NoSuchServiceTypeException e )
  {
    return null;
  }
}

代码示例来源:origin: org.apache.polygene.libraries/org.apache.polygene.library.jmx

public String restart()
  {
    ServiceReference<?> serviceRef = module.findServices( serviceDescriptor.types()
                                        .findFirst().orElse( null ) )
                        .filter( withId( serviceDescriptor.identity().toString() ) )
                        .findFirst().orElse( null );
    if( serviceRef != null )
    {
      try
      {
        ( (Activation) serviceRef ).passivate();
        ( (Activation) serviceRef ).activate();
        return "Restarted service";
      }
      catch( Exception e )
      {
        return "Could not restart service:" + e.getMessage();
      }
    }
    else
    {
      return "Could not find service";
    }
  }
}

代码示例来源:origin: apache/attic-polygene-java

@Override
public void registerServices()
  throws Exception
{
  BundleContext context = descriptor.metaInfo( BundleContext.class );
  if( context == null )
  {
    return;
  }
  module.findServices( descriptor.types().findFirst().orElse( null ) ).forEach(
    ref -> {
      if( ref.identity().equals( identity().get() ) )
      {
        Stream<? extends Type> classesSet = descriptor.types();
        Dictionary properties = descriptor.metaInfo( Dictionary.class );
        String[] clazzes = fetchInterfacesImplemented( classesSet );
        registration = context.registerService( clazzes, ref.get(), properties );
      }
    }
  );
}

代码示例来源:origin: apache/attic-polygene-java

return module.findServices( Deserializer.class )
       .filter( ref ->

代码示例来源:origin: org.apache.polygene.core/org.apache.polygene.core.api

return module.findServices( Deserializer.class )
       .filter( ref ->

代码示例来源:origin: apache/attic-polygene-java

@Test
public void servicesPluralDeclaration()
  throws ActivationException, AssemblyException
{
  Module module = new SingletonAssembler()
  {
    @Override
    public void assemble( ModuleAssembly module )
      throws AssemblyException
    {
      module.services( SomeOtherFoo.class, BasicFoo.class );
    }
  }.module();
  assertEquals( 1, module.findServices( SomeOtherFoo.class ).count() );
  assertEquals( 2, module.findServices( BasicFoo.class ).count() );
  assertEquals( 2, module.findServices( Foo.class ).count() );
  assertEquals( CATHEDRAL, module.findService( SomeOtherFoo.class ).get().bar() );
  // Exact type match first even if it is assembled _after_ an assignable, the assignable comes after
  Iterator<ServiceReference<BasicFoo>> basicFoos = module.findServices( BasicFoo.class ).iterator();
  assertEquals( BAZAR, basicFoos.next().get().bar() );
  assertEquals( CATHEDRAL, basicFoos.next().get().bar() );
  assertFalse( basicFoos.hasNext() );
  // No exact type match, all assembled are assignable, follows assembly Type order
  Iterator<ServiceReference<Foo>> foos = module.findServices( Foo.class ).iterator();
  assertEquals( CATHEDRAL, foos.next().get().bar() );
  assertEquals( BAZAR, foos.next().get().bar() );
  assertFalse( foos.hasNext() );
}

代码示例来源:origin: apache/attic-polygene-java

assembly.module().findServices( DataAccess.class ).forEach(
  service ->
assembly.module().findServices( DataAccess.class ).forEach(
  service ->

代码示例来源:origin: apache/attic-polygene-java

@Test
public void givenSuccessPassivationWhenPassivatingExpectNoExceptions()
  throws Throwable
{
  SingletonAssembler assembly = new SingletonAssembler()
  {
    public void assemble( ModuleAssembly module )
      throws AssemblyException
    {
      module.addServices( DataAccessService.class ).withActivators( PassivationSuccessActivator.class );
      module.addServices( DataAccessService.class ).withActivators( PassivationSuccessActivator.class );
    }
  };
  assembly.module().findServices( DataAccess.class ).forEach(
    service ->
    {
      assertTrue( "Service should not be Active before accessed", !service.isActive() );
      assertTrue( service.get().data().activated );
      assertTrue( "Service should be Active after access.", service.isActive() );
    }
  );
  assembly.application().passivate();
}

代码示例来源:origin: apache/attic-polygene-java

@Test(expected = PassivationException.class)
public void givenMultipleFailingPassivationWhenPassivatingExpectPassivationExceptionToBubbleUp()
  throws Exception
{
  SingletonAssembler assembly = new SingletonAssembler()
  {
    public void assemble( ModuleAssembly module )
      throws AssemblyException
    {
      module.addServices( DataAccessService.class ).withActivators( PassivationFailureActivator.class );
      module.addServices( DataAccessService.class ).withActivators( PassivationFailureActivator.class );
    }
  };
  assembly.module().findServices( DataAccess.class ).forEach(
    service ->
    {
      assertTrue( "Service should not be Active before accessed", !service.isActive() );
      assertTrue( service.get().data().activated );
      assertTrue( "Service should be Active after access.", service.isActive() );
    }
  );
  assembly.application().passivate();
}

相关文章