use of io.fabric8.api.Container in project fabric8 by jboss-fuse.
the class ProxyServlet method init.
/**
* Initialize the <code>ProxyServlet</code>
*
* @param config The Servlet configuration passed in by the servlet container
*/
@Override
public void init(ServletConfig config) throws ServletException {
HttpProxyRuleBase ruleBase = new HttpProxyRuleBase();
loadRuleBase(config, ruleBase);
resolver.setMappingRules(ruleBase);
Protocol.registerProtocol("http", new Protocol("http", new NonBindingSocketFactory(), 80));
Protocol.registerProtocol("https", new Protocol("https", new NonBindingSocketFactory(), 443));
}
use of io.fabric8.api.Container in project fabric8 by jboss-fuse.
the class ContainerBuilder method prepareAsync.
public Future<Set<Container>> prepareAsync(B builder) {
BundleContext syscontext = ServiceLocator.getSystemContext();
ServiceProxy<FabricService> fabricProxy = ServiceProxy.createServiceProxy(syscontext, FabricService.class);
try {
FabricService fabricService = fabricProxy.getService();
CompletionService<Set<Container>> completionService = new ExecutorCompletionService<Set<Container>>(executorService);
return completionService.submit(new CreateContainerTask(fabricService, builder));
} finally {
fabricProxy.close();
}
}
use of io.fabric8.api.Container in project fabric8 by jboss-fuse.
the class ExampleCxfProfileLongTest method testExample.
@Test
public void testExample() throws Exception {
System.out.println("creating the cxf-server container.");
ServiceProxy<FabricService> fabricProxy = ServiceProxy.createServiceProxy(bundleContext, FabricService.class);
try {
Set<ContainerProxy> containers = ContainerBuilder.create(fabricProxy).withName("child").withProfiles("example-cxf-cxf.server").assertProvisioningResult().build();
try {
assertTrue("We should create the cxf-server container.", containers.size() == 1);
System.out.println("created the cxf-server container.");
// install bundle of CXF
Thread.sleep(2000);
System.out.println(executeCommand("fabric:cluster-list"));
// install bundle of CXF
Thread.sleep(2000);
// calling the client here
System.out.println("install the cxf client demo in root container");
// This test need to take sometime to download the cxf feature related bundles
System.out.println(executeCommand("features:install fabric-cxf", 600000, false));
String projectVersion = System.getProperty("fabricitest.version");
// install bundle of CXF demo client
System.out.println(executeCommand("osgi:install -s mvn:io.fabric8.examples/fabric-cxf-demo-common/" + projectVersion));
System.out.println(executeCommand("osgi:install -s mvn:io.fabric8.examples/fabric-cxf-demo-client/" + projectVersion));
System.out.println(executeCommand("osgi:list"));
System.out.println("invoking the web service");
Hello proxy = ServiceLocator.awaitService(bundleContext, Hello.class);
assertNotNull(proxy);
String result1 = proxy.sayHello();
String result2 = proxy.sayHello();
assertNotSame("We should get the two different result", result1, result2);
} finally {
ContainerBuilder.destroy(containers);
}
} finally {
fabricProxy.close();
}
}
use of io.fabric8.api.Container in project fabric8 by jboss-fuse.
the class ExampleMQProfileTest method testExample.
@Test
public void testExample() throws Exception {
System.out.println(executeCommand("fabric:create -n --wait-for-provisioning"));
// System.out.println(executeCommand("shell:info"));
// System.out.println(executeCommand("fabric:info"));
// System.out.println(executeCommand("fabric:profile-list"));
ServiceProxy<FabricService> fabricProxy = ServiceProxy.createServiceProxy(bundleContext, FabricService.class);
try {
FabricService fabricService = fabricProxy.getService();
CuratorFramework curator = fabricService.adapt(CuratorFramework.class);
Set<ContainerProxy> containers = ContainerBuilder.create(fabricProxy, 2).withName("cnt").withProfiles("default").assertProvisioningResult().build();
try {
LinkedList<Container> containerList = new LinkedList<Container>(containers);
Container broker = containerList.removeLast();
setData(curator, ZkPath.CONTAINER_PROVISION_RESULT.getPath(broker.getId()), "changing");
System.out.println(executeCommand("fabric:container-change-profile " + broker.getId() + " mq-default"));
Provision.provisioningSuccess(Arrays.asList(new Container[] { broker }), PROVISION_TIMEOUT);
System.out.println(executeCommand("fabric:cluster-list"));
for (Container c : containerList) {
setData(curator, ZkPath.CONTAINER_PROVISION_RESULT.getPath(c.getId()), "changing");
System.out.println(executeCommand("fabric:container-change-profile " + c.getId() + " example-mq"));
}
Provision.provisioningSuccess(containerList, PROVISION_TIMEOUT);
System.out.println(executeCommand("fabric:cluster-list"));
Assert.assertTrue(Provision.waitForCondition(Arrays.asList(new Container[] { broker }), new ContainerCondition() {
@Override
public Boolean checkConditionOnContainer(final Container c) {
System.out.println(executeCommand("fabric:container-connect -u admin -p admin " + c.getId() + " activemq:bstat"));
String output = executeCommand("fabric:container-connect -u admin -p admin " + c.getId() + " activemq:query -QQueue=FABRIC.DEMO");
return output.contains("DequeueCount = ") && !output.contains("DequeueCount = 0");
}
}, 10000L));
} finally {
ContainerBuilder.destroy(containers);
}
} finally {
fabricProxy.close();
}
}
use of io.fabric8.api.Container in project fabric8 by jboss-fuse.
the class ContainerBuilder method destroy.
/**
* Destroy the given containers
*/
public static void destroy(Set<? extends Container> containers) {
ServiceProxy<FabricService> fabricProxy = ServiceProxy.createServiceProxy(getBundleContext(), FabricService.class);
try {
FabricService fabricService = fabricProxy.getService();
for (Container aux : containers) {
try {
// We want to use the latest metadata
Container container = fabricService.getContainer(aux.getId());
container.destroy(true);
} catch (Exception ex) {
// noop
}
}
} finally {
fabricProxy.close();
}
}
Aggregations