List<ResourceHandle> handles = new ArrayList<>(); Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); ResourceIdentity identityB = ResourceIdentity.fromString(RESOURCE_B); ResourceBuilder builderB = provisioner.getContentResourceBuilder(identityB, deployer.getDeployment(RESOURCE_B)); ResourceIdentity identityB1 = ResourceIdentity.fromString(RESOURCE_B1); ResourceBuilder builderB1 = provisioner.getContentResourceBuilder(identityB1, deployer.getDeployment(RESOURCE_B1)); handles.add(provisioner.installSharedResource(builderB.getResource()));
/** * Provision a resource from an input stream. * * The client controlls the resource identity * The installed resource is self sufficient - no additional dependency mapping needed. */ @Test public void testProvisionStreamResource() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); ResourceIdentity identityA = ResourceIdentity.fromString(RESOURCE_A); ResourceBuilder builderA = provisioner.getContentResourceBuilder(identityA, deployer.getDeployment(RESOURCE_A)); ResourceHandle handle = provisioner.installResource(builderA.getResource()); try { // Verify that the module got installed Runtime runtime = RuntimeLocator.getRequiredRuntime(); Module module = runtime.getModule(identityA); Assert.assertNotNull("Module not null", module); Assert.assertEquals("ACTIVE " + module, State.ACTIVE, module.getState()); // Verify that the module activator was called MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); Assert.assertTrue("MBean registered", server.isRegistered(getObjectName(module))); Assert.assertEquals("ACTIVE", server.getAttribute(getObjectName(module), "ModuleState")); } finally { handle.uninstall(); } }
ResourceIdentity identity = ResourceIdentity.fromString("camel.core.feature:0.0.0"); Requirement req = new IdentityRequirementBuilder(identity).getRequirement(); Set<ResourceHandle> result = provisioner.provisionResources(Collections.singleton(req));
Runtime runtime = RuntimeLocator.getRequiredRuntime(); ResourceIdentity identityA = ResourceIdentity.fromString("camel.core.shared"); MavenCoordinates mavenid = MavenCoordinates.parse("org.apache.camel:camel-core:jar:2.11.0"); ResourceBuilder builderA = provisioner.getMavenResourceBuilder(identityA, mavenid); Assert.assertEquals("ACTIVE " + identityA, State.ACTIVE, handleA.getModule().getState()); ResourceIdentity identityC = ResourceIdentity.fromString(RESOURCE_C); ResourceBuilder builderC = provisioner.getContentResourceBuilder(identityC, deployer.getDeployment(RESOURCE_C)); Map<String, Object> attsC = builderC.getMutableResource().getIdentityCapability().getAttributes();
/** * Provision a resource from maven coordinates. * * The client controlls the resource identity * The installed resource is self sufficient - no additional dependency mapping needed. */ @Test public void testMavenResource() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); Runtime runtime = RuntimeLocator.getRequiredRuntime(); // Tomcat does not support jar deployments Assume.assumeFalse(RuntimeType.TOMCAT == RuntimeType.getRuntimeType()); ResourceIdentity identityA = ResourceIdentity.fromString("camel.core.unshared"); MavenCoordinates mavenid = MavenCoordinates.parse("org.apache.camel:camel-core:jar:2.11.0"); ResourceBuilder builderA = provisioner.getMavenResourceBuilder(identityA, mavenid); ResourceHandle handleA = provisioner.installResource(builderA.getResource()); try { Assert.assertSame(handleA.getModule(), runtime.getModule(identityA)); Assert.assertEquals("ACTIVE " + identityA, State.ACTIVE, handleA.getModule().getState()); } finally { handleA.uninstall(); } }