分布式场景下指定 IContainerFactory，并默认使用 MysqlDialect、EhCache
@see #useAsDataTransfer(Dialect, IContainerFactory, ICache)
350726
public static void useAsDataTransfer(IContainerFactory containerFactory) {
		useAsDataTransfer(new com.jfinal.plugin.activerecord.dialect.MysqlDialect(), containerFactory, new com.jfinal.plugin.activerecord.cache.EhCache());
	}
462399
public void cacheDescriptorValue(IAtom atom, IAtomContainer container, IDescriptorResult value) {
        if (cachedDescriptorValues == null) {
            cachedDescriptorValues = new HashMap();
            cachedDescriptorValues.put(PREVIOUS_ATOMCONTAINER, container);
        } else if (cachedDescriptorValues.get(PREVIOUS_ATOMCONTAINER) != container) {
            cachedDescriptorValues.clear();
            cachedDescriptorValues.put(PREVIOUS_ATOMCONTAINER, container);
        }
        cachedDescriptorValues.put(atom, value);
    }
1352896
public TransferState asynchPut(String remoteFileName,
                                   DataSource source,
                                   MarkerListener mListener,
                                   boolean append)
        throws IOException, ServerException, ClientException {
        checkTransferParamsPut();
        if (useAllo && source.totalSize() != -1) {
            allocate(source.totalSize());
        }
        localServer.retrieve(source);
        if (append) {
            controlChannel.write(new Command("APPE", remoteFileName));
        } else {
            controlChannel.write(new Command("STOR", remoteFileName));
        }

        return transferStart(localServer.getControlChannel(), mListener);
    }
1211030
public void setIconTranslate( Float[] value) {
    PropertyValue propertyValue = iconTranslate(value);
    constantPropertyUsageMap.put(PROPERTY_ICON_TRANSLATE, propertyValue);
    layer.setProperties(propertyValue);
  }
590233
public void doTag() {
        JspContext jspContext = getJspContext();
        DataGridStateFactory factory = DataGridStateFactory.getInstance(jspContext);
        assert factory != null;

        DataGridState state = null;
        if(_config != null)
            state = factory.getDataGridState(_name, _config);
        else
            state = factory.getDataGridState(_name);

        jspContext.setAttribute(_var, state);
    }
1076862
@Override
	public IResource convert(final IResource resource) {
		final String sourceMethod = "convert"; //$NON-NLS-1$
		final boolean isTraceLogging = log.isLoggable(Level.FINER);
		if (isTraceLogging) {
			log.entering(sourceMethod, sourceMethod, new Object[]{resource});
		}
		IResource result = resource;

		if (!isSkipResourceConversion.get()) {
			if (!resource.isFolder()) {
				// is the request for a JavaScript file
				if (resource.getPath().endsWith(".js") && resource.getPath().length() > 3) { //$NON-NLS-1$
					if (!resource.exists()){
						// The requested javascript file doesn't exist.  See if we can satisfy the request
						// by converting a .jsx file.

						// Construct a resource object for the .jsx file with the same base name
						// and in the same directory as the requested javascript file.
						String path = resource.getReferenceURI().getPath();
						int idx = path.lastIndexOf("/"); //$NON-NLS-1$
						String name = path.substring(idx == -1 ? 0 : idx+1, path.length()-3) + ".jsx"; //$NON-NLS-1$
						IResource jsxRes = aggregator.newResource(resource.resolve(name));
						if (jsxRes.exists()) {
							ICache cache = aggregator.getCacheManager().getCache();
							try {
								IResourceConverterCache jsxCache = (IResourceConverterCache)cache.getCache(JSX_CACHE_NAME);
								if (jsxCache == null) {
									throw new NotFoundException(JSX_CACHE_NAME);
								}
								// Use the resource's reference uri as the cache key
								String cacheKey = resource.getReferenceURI().toString();
								// get the converted resource from the cache.
								jsxRes.setReferenceURI(resource.getReferenceURI());
								result = jsxCache.convert(cacheKey, jsxRes);
							} catch (IOException ex) {
								log.logp(Level.WARNING, sourceClass, sourceMethod, ex.getMessage(), ex);
								result = new ExceptionResource(resource.getReferenceURI(), resource.lastModified(), ex);
							}
						}
					}
				}
			} else {
				// It's a folder resource.  Wrap the folder resource so that we can override the
				// tree walker so as to make .jsx files in folder listings appear as .js files.
				return new FolderResourceWrapper(resource);
			}
		}
		if (isTraceLogging) {
			log.exiting(sourceClass, sourceMethod, result);
		}
		return result;
	}
532158
private boolean raSupportsCCILocalTran(ManagedConnectionFactory mcf) throws ResourceException {

        final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
        ConnectionFactory cf;
        ResourceAdapterMetaData raMetaData;
        boolean cciLocalTranSupported = false;

        if (isTraceOn
            && tc.isEntryEnabled())
            Tr.entry(this, tc, "raSupportsCCILocalTran");

        if (gConfigProps.transactionSupport == TransactionSupportLevel.XATransaction
            || gConfigProps.transactionSupport == TransactionSupportLevel.LocalTransaction) {
            cf = (ConnectionFactory) mcf.createConnectionFactory(this);
            raMetaData = cf.getMetaData();
            if (raMetaData != null)
                cciLocalTranSupported = raMetaData.supportsLocalTransactionDemarcation();
        }

        if (isTraceOn
            && tc.isEntryEnabled())
            Tr.exit(this, tc, "raSupportsCCILocalTran " + cciLocalTranSupported);

        return cciLocalTranSupported;
    }
122446
@Override
    public boolean regiserService(NaviRpcExporter exporter) {
        Class<?> interf = exporter.getServiceInterface();
        Object bean = exporter.getServiceBean();
        List<AppIdToken> appIdTokens = getAuthIfPossible(bean);
        String interfSimpleName = interf.getSimpleName();
        try {
            exporters.put(exporter.getName(), exporter);
            if (interf.isAssignableFrom(bean.getClass())) {
                Method[] ms = ReflectionUtil.getAllInstanceMethods(bean.getClass());
                for (Method m : ms) {
                    if (methodResolver.isSupport(m)) {
                        MethodWrapper methodWrapper = new MethodWrapper(interf.getName(),
                                m.getName(), MethodUtil.getArgsTypeName(m));
                        MethodWrapper defaultMethodWrapper = new MethodWrapper(interf.getName(),
                                m.getName(), StringUtil.EMPTY);
                        String key = methodWrapper.toString();
                        MethodDescriptor<String> desc = new MethodDescriptor<String>();
                        desc.setServiceId(key).setMethod(m).setTarget(bean)
                                .setArgumentClass(m.getParameterTypes())
                                .setReturnClass(m.getReturnType()).setInterfClass(interf).setAppIdTokens(appIdTokens);
                        serviceRegistry.addServiceDescriptor(key, desc);
                        serviceRegistry.addServiceDescriptor(defaultMethodWrapper.toString(), desc);
                        if (LOG.isDebugEnabled()) {
                            LOG.debug(String.format(
                                    "Register service key=[%s], %s %s#%s(%s) successfully", key, m
                                            .getReturnType().getSimpleName(), interf.getName(), m
                                            .getName(), StringUtil.toString4Array(m
                                            .getParameterTypes())));
                        }
                    }
                }
                LOG.info("Find rpc service configured, interface is "
                        + interfSimpleName + " , implementation is "
                        + AopUtils.getTargetClass(bean).getName());
                return true;
            } else {
                LOG.error("The interface " + interfSimpleName + " is not compatible with the bean "
                        + bean.getClass().getName());
            }
        } catch (Exception e) {
            LOG.error(
                    "The interface " + interfSimpleName + " is configured wrongly."
                            + e.getMessage(), e);
        }
        return false;
    }
882812
@SuppressWarnings("unchecked")
	public static <D, J> D toData(Class<? extends TypeAdapter<J, D>> clazz, J javaValue) {
		TypeAdapter<J, D> adapter = cache.get(clazz);

		if (adapter == null) {
			adapter = generateAdapter(cache, lock, clazz);
		}

		return adapter.toData(javaValue);
	}
765010
@Override
    public String moveAsync(String apiKey, String from, String to) {
        checkNotNull(from, "from");
        checkNotNull(to, "to");
        try {
            URI uri = _databus.clone()
                    .segment("_move")
                    .queryParam("from", from)
                    .queryParam("to", to)
                    .build();
            Map<String, Object> response = _client.resource(uri)
                    .header(ApiKeyRequest.AUTHENTICATION_HEADER, apiKey)
                    .post(new TypeReference<Map<String, Object>>(){}, null);
            return response.get("id").toString();
        } catch (EmoClientException e) {
            throw convertException(e);
        }
    }
566738
@Override
	public String doTransformSql(final SqlContext sqlContext, final String sql) {
		if (getFilters().isEmpty()) {
			return sql;
		}
		String newSql = sql;
		for (final SqlFilter filter : getFilters()) {
			newSql = filter.doTransformSql(sqlContext, newSql);
		}
		return newSql;
	}
180722
public ActionFuture<IndexResponse> sendDataAsync(
            String jsonSource, String index, String type, String id) {
        return indexQueryAsync(buildIndexRequest(jsonSource, index, type, id));
    }
1281598
@Override
  public final synchronized void handleDataChanged() throws Exception {
    this.i18nWebStoreList = null;
    this.i18nCatalogs = null;
    this.currRates = null;
    this.dlvMts = null;
    this.logger.info(null, HndlTradeVarsRequest.class,
      "I18N changes are handled.");
  }
964014
private String buildInsertNameTypeQuery(final String finalFieldName,
                                            final IClassContainer container) {
        final Class<?> exportFieldType = container.getField(finalFieldName).getType();
        switch (container.getContainer(finalFieldName).getType()) {
            case ARRAY:
            case COLLECTION:
                final Class<?> type = exportFieldType.getComponentType();
                return finalFieldName + "\t" + translateJavaTypeToSqlType(type) + "[]";
            case ARRAY_2D:
                final Class<?> type2D = exportFieldType.getComponentType().getComponentType();
                return finalFieldName + "\t" + translateJavaTypeToSqlType(type2D) + "[][]";
            default:
                return finalFieldName + "\t" + translateJavaTypeToSqlType(exportFieldType);
        }
    }
1234962
private void transferRow(TransferResultSet r, PreparedStatement p,
                             int len,
                             int[] types)
                             throws DataAccessPointException, SQLException {

        for (int i = 1; i <= len; i++) {
            int    t = types[i];
            Object o = r.getObject(i);

            if (o == null) {
                if (p != null) {
                    p.setNull(i, t);
                }
            } else {
                o = helper.convertColumnValue(o, i, t);

                p.setObject(i, o);
            }
        }

        if (p != null) {
            p.execute();
        }
    }
689241
static SQLTransform getNetTransform(TypeName typeName) {
		if (URL.class.getName().equals(typeName.toString())) {
			return new UrlSQLTransform();
		}

		return null;
	}
659705
private Object getColumnTranslatedToJDBC( String columnName ) throws SQLException {
        notClosed();
        isRowSet();

        Value value = null;
        this.currentValue = null;

        try {
            value = row.getValue(columnName);
        } catch (javax.jcr.PathNotFoundException pnf) {
            // do nothing
        } catch (RepositoryException e) {
            throw new SQLException(e.getLocalizedMessage(), e);
        }

        if (value == null) return null;

        this.currentValue = JcrType.translateValueToJDBC(value);
        return this.currentValue;
    }