Examples of Closer


Examples of org.jclouds.lifecycle.Closer

   }

   @Test
   void testCloserCallOneClose() throws IOException, InterruptedException {
      Injector i = createInjector();
      final Closer closer = i.getInstance(Closer.class);

      Closeable closeable = createStrictMock(Closeable.class);

      closeable.close();

      expectLastCall();

      replay(closeable);

      closer.addToClose(closeable);

      Runnable closeContext = new Runnable() {
         @Override
         public void run() {
            try {
               closer.close();
            } catch (IOException e) {
               assert false : e.getMessage();
            }
         }
      };

      Thread thread1 = new Thread(closeContext);
      Thread thread2 = new Thread(closeContext);

      thread1.start();
      thread2.start();

      thread1.join();
      thread2.join();

      verify(closeable);

      assert closer.getState() == Closer.State.DONE;
   }
View Full Code Here

Examples of org.jclouds.lifecycle.Closer

            typeEncounter.register(new InjectionListener<I>() {
               @Override
               public void afterInjection(Object object) {
                  final View view = (View) object;
                  final Iterable<ViewMBean> viewMamanagementBeans  = viewManagementOf(view);
                  final Closer closer = view.unwrap().utils().injector().getInstance(Closer.class);
                  //We get the name from the view and not from the view management object to avoid proxy issues.
                  final String name = view.unwrap().getName();
                  managementContext.register(view);

                  //Manage the created management view objects to the context.
                  for (ViewMBean viewMBean : viewMamanagementBeans) {
                     managementContext.manage(viewMBean, name);
                  }

                  //Add the the management view objects to the Closer, so that they are unregistered on close.
                  closer.addToClose(new Closeable() {
                     @Override
                     public void close() throws IOException {
                        for (ViewMBean viewMBean : viewMamanagementBeans) {
                           managementContext.unmanage(viewMBean, name);
                        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.