List of usage examples for org.springframework.ide.eclipse.boot.dash.util CancelationTokens CancelationTokens
public CancelationTokens()
From source file:org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudAppDashElement.java
public CloudAppDashElement(CloudFoundryBootDashModel model, String appName, IPropertyStore modelStore) { super(model, new CloudAppIdentity(appName, model.getRunTarget())); this.cancelationTokens = new CancelationTokens(); this.cloudTarget = model.getRunTarget(); this.cloudModel = model; IPropertyStore backingStore = PropertyStoreFactory.createSubStore("A" + getName(), modelStore); this.persistentProperties = PropertyStoreFactory.createApi(backingStore); addElementNotifier(baseRunState);//from w ww. j a va 2s. c o m addElementNotifier(appData); addElementNotifier(healthCheckOverride); this.addDisposableChild(baseRunState); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryClientTest.java
@Test public void startCanBeCanceled() throws Exception { IProject project = projects.createBootWebProject("slow-starter"); File jarFile = BootJarPackagingTest.packageAsJar(project, ui); String appName = appHarness.randomAppName(); try (CFPushArguments params = new CFPushArguments()) { params.setAppName(appName);/*from w w w . ja v a2 s . c o m*/ params.setRoutes(appName + "." + CFAPPS_IO()); params.setApplicationData(jarFile); params.setNoStart(true); long starting = System.currentTimeMillis(); System.out.println("Pushing..."); client.push(params, CancelationTokens.NULL); long duration = System.currentTimeMillis() - starting; System.out.println("Pushing took: " + duration + " ms"); } CancelationTokens cancelationTokens = new CancelationTokens(); long starting = System.currentTimeMillis(); System.out.println("Starting..."); Future<Void> startResult = doAsync(() -> { client.restartApplication(appName, cancelationTokens.create()); long duration = System.currentTimeMillis() - starting; System.out.println("started in " + duration + " ms"); }); Thread.sleep(5000); long cancelTime = System.currentTimeMillis(); cancelationTokens.cancelAll(); try { startResult.get(5, TimeUnit.SECONDS); } catch (ExecutionException e) { e.printStackTrace(); long duration = System.currentTimeMillis() - cancelTime; assertEquals(OperationCanceledException.class, ExceptionUtil.getDeepestCause(e).getClass()); System.out.println("\nRestart Canceled after " + duration + " ms"); } }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryClientTest.java
@Test public void pushCanBeCanceled() throws Exception { String appName = appHarness.randomAppName(); IProject project = projects.createBootWebProject("slow-starter"); File jarFile = BootJarPackagingTest.packageAsJar(project, ui); CancelationTokens cancelationTokens = new CancelationTokens(); try (CFPushArguments params = new CFPushArguments()) { params.setAppName(appName);//from w w w . j a v a 2 s.com params.setRoutes(appName + "." + CFAPPS_IO()); params.setApplicationData(jarFile); long starting = System.currentTimeMillis(); Future<Void> pushResult = doAsync(() -> { System.out.println("Pushing..."); client.push(params, cancelationTokens.create()); long duration = System.currentTimeMillis() - starting; System.out.println("Pushing took: " + duration + " ms"); }); Thread.sleep(Duration.ofSeconds(10).toMillis()); long cancelTime = System.currentTimeMillis(); System.out.println("Canceling..."); cancelationTokens.cancelAll(); try { pushResult.get(5, TimeUnit.SECONDS); // Cancel should happen pretty 'fast'! fail("push completed but it should have been canceled"); } catch (ExecutionException e) { // real exception is wrapped in EE by Future.get e.printStackTrace(); long duration = System.currentTimeMillis() - cancelTime; assertEquals(OperationCanceledException.class, ExceptionUtil.getDeepestCause(e).getClass()); System.out.println("\nPush Canceled after: " + duration + " ms"); } } }