public static LookupRequest TransactionManager() { return new LookupRequest(net.jini.core.transaction.server.TransactionManager.class); }
private static Object findJiniSpace(SpaceURL url, String spaceUuid, Properties customProperties, long timeout, LookupType lookupType, boolean postProcess) throws FinderException { // NOTE, the Service.class should be used here as there is a special cache aside in GigaRegistrar based on it LookupRequest request = new LookupRequest(Service.class) .setLocators(url.getHost()) .setGroups(url.getProperty(SpaceURL.GROUPS)) .setCustomProperties(customProperties) .setTimeout(timeout) .setLookupInterval(url.getLookupIntervalTimeout()) .setLookupType(lookupType) .setSpaceUuid(spaceUuid); if(spaceUuid == null) request= request.setServiceAttributes(url.getLookupAttributes()); boolean previousLazyAccessValue = DefaultProxyPivot.updateLazyAccess(!postProcess); try { Object result = LookupFinder.find(request); if (postProcess) ((SpaceProxyImpl) result).setFinderURL(url); return result; } finally { DefaultProxyPivot.updateLazyAccess(previousLazyAccessValue); } }
public LookupDistributedTransactionManagerProvider(LookupTransactionManagerConfiguration config) throws TransactionException { try { LookupRequest request = LookupRequest.TransactionManager() .setServiceName(config.getLookupTransactionName()) .setLocators(config.getLookupTransactionLocators()) .setGroups(config.getLookupTransactionGroups()) .setTimeout(config.getLookupTransactionTimeout()); _transactionManager = (TransactionManager) LookupFinder.find(request); } catch (FinderException e) { throw new TransactionException(e.getMessage(), e); } }
public static Object find(LookupRequest request) throws FinderException { final String serviceName = request.getServiceName(); final Class serviceClass = request.getServiceClass(); final ServiceID serviceID = getServiceIDFromRequest(request); final Entry[] serviceAttributes = appendNameIfNeeded(request.getServiceAttributes(), serviceName); sortLookupAttributes(serviceAttributes); if (serviceName == null && serviceClass == null && serviceAttributes == null) throw new IllegalArgumentException("All parameters can not be null."); final long timeout = request.getTimeout() <= 0 ? DEFAULT_TIMEOUT : request.getTimeout(); final LookupLocator[] lookupLocators = request.getLookupLocators(); final String[] lookupGroups = request.getLookupGroups(); final Class[] serviceClasses = serviceClass != null ? new Class[]{serviceClass} : null; final ServiceTemplate template = new ServiceTemplate(serviceID, serviceClasses, serviceAttributes); synchronized (sdms) { final boolean terminateSDM = request.getLookupType() == LookupType.TimeBasedLastIteration || request.getLookupType() == LookupType.RepeatsBased;
private static Object find(ServiceTemplate template, SharedServiceDiscoveryManager sdm, long timeout, LookupRequest request) throws InterruptedException { final long interval = request.getLookupInterval(); final long sdmCreationTime = SystemTime.timeMillis(); if (timeout == SINGLE_LOOKUP_TIMEOUT && request.getLookupType() == LookupType.RepeatsBased && sdm.getDiscoveryManager().getRegistrars().length == 0) { waitForLookupService(sdm);
public TransactionManager getDistributedTransactionManager() throws JMSException { if (dtm == null) { try { LookupRequest request = LookupRequest.TransactionManager() .setLocators(getSpaceURL().getProperty(SpaceURL.LOCATORS)) .setGroups(getSpaceURL().getProperty(SpaceURL.GROUPS)) .setTimeout(10 * 1000); dtm = (TransactionManager) LookupFinder.find(request); if (_logger.isLoggable(Level.FINE)) _logger.fine("Created Distributed Transaction Manager: " + dtm.toString()); } catch (FinderException fe) { if (_logger.isLoggable(Level.SEVERE)) _logger.log(Level.SEVERE, "Failed to create Exception Distributed Transaction Manager.", fe); JMSException e = new JMSException("FinderException: " + fe.toString()); e.setLinkedException(fe); throw e; } } return dtm; }
public static LookupRequest IJSpace() { return new LookupRequest(com.j_spaces.core.IJSpace.class); }