(省略) public class UIActivator implements BundleActivator { (省略) @Override public void start(BundleContext context) throws Exception { bundle = context.getBundle(); if(tracker == null){ tracker = new ServiceTracker(context, INotificationService.class.getName(),null); } tracker.open(true); createOpenTimer(); } (省略) private void createOpenTimer() { openTimer = new Timer(); openTimer.scheduleAtFixedRate(new TimerTask(){ @Override public void run() { final List<INotificationMessage> contents = new ArrayList<INotificationMessage>(); Object[] services = tracker.getServices(); if(services == null) return; for(Object obj : services){ INotificationService service = (INotificationService) obj; contents.addAll(service.getContents()); } (省略) public void stop(BundleContext context) throws Exception { openTimer.cancel(); openTimer.purge(); openTimer = null; tracker.close(); tracker = null; (省略) }