/** * Create new instance of {@link ComponentProviderService}. Searches for registered {@link * ComponentProvider}s and registers them with this service. {@link DefaultComponentProvider} is * always added to found providers. * * @return initialized {@link ComponentProviderService}. */ public static ComponentProviderService create() { final List<ComponentProvider> foundProviders = new ArrayList<ComponentProvider>(); ServiceFinder<ComponentProvider> finder = ServiceFinder.find(ComponentProvider.class); for (ComponentProvider componentProvider : finder) { foundProviders.add(componentProvider); } foundProviders.add(new DefaultComponentProvider()); return new ComponentProviderService(Collections.unmodifiableList(foundProviders)); }
public List removePendingMessages(MessageTemplate template, boolean notifyFailure) { List pendingMsg = ((jade.imtp.leap.FrontEndStub) myFrontEnd).removePendingMessages(template); if (pendingMsg.size() > 0) { myLogger.log( Logger.INFO, "Removed " + pendingMsg.size() + " pending messages from BackEnd queue."); } if (notifyFailure) { Iterator it = pendingMsg.iterator(); while (it.hasNext()) { try { Object[] removed = (Object[]) it.next(); ACLMessage msg = (ACLMessage) removed[0]; AID receiver = new AID((String) removed[1], AID.ISLOCALNAME); ServiceFinder myFinder = getServiceFinder(); MessagingService msgSvc = (MessagingService) myFinder.findService(MessagingSlice.NAME); msgSvc.notifyFailureToSender( new GenericMessage(msg), receiver, new InternalError("Agent dead")); } catch (Exception e) { myLogger.log(Logger.WARNING, "Cannot send AMS FAILURE. " + e); } } } return pendingMsg; }
@Override public void configure() { for (T t : ServiceFinder.find(contract, true)) { bind(t).to(contract); } }
private static IniBuilder newInstance() { return ServiceFinder.findService(IniBuilder.class); }