Java源码示例:io.vertx.core.file.impl.FileResolver
示例1
@Test
public void testCreateVertxWithFileCPResolving() {
// Prepare
ArchaiusUtils.resetConfig();
String cacheDirBase = System.getProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME,
System.getProperty("java.io.tmpdir", ".") + File.separator + "vertx-cache");
File file = new File(cacheDirBase);
// create .vertx folder
FileUtils.deleteQuietly(file);
Assert.assertFalse(file.exists());
ArchaiusUtils.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, false);
VertxUtils.getOrCreateVertxByName("testCreateVertxWithFileCPResolvingFalse", null);
Assert.assertTrue(file.exists());
VertxUtils.blockCloseVertxByName("testCreateVertxWithFileCPResolvingFalse");
// don't create .vertx folder
FileUtils.deleteQuietly(file);
Assert.assertFalse(file.exists());
ArchaiusUtils.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, true);
VertxUtils.getOrCreateVertxByName("testCreateVertxWithFileCPResolvingTrue", null);
Assert.assertFalse(file.exists());
VertxUtils.blockCloseVertxByName("testCreateVertxWithFileCPResolvingTrue");
ArchaiusUtils.resetConfig();
}
示例2
private URL tryResolveFile(String path) {
FileSystem fileSystem = getVertx().fileSystem();
String relativePath = makePathRelative(path);
if (fileSystem.existsBlocking(relativePath)) {
try {
return new FileResolver()
.resolveFile(relativePath).toURI().toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
return null;
}
示例3
/**
* 获得模板的路径
*
* @return
*/
public String getTemplateRoot() {
if (PathUtil.isJarEnv()) {
FileResolver fileResolver = new FileResolver();
File file = fileResolver.resolveFile(new File(PathUtil.getPathString("templates")).getPath());
return (file.getPath().startsWith("/") ? "" : "/") + file.getPath();
} else {
return "target/classes/templates";
}
}
示例4
private JsonObject loadOptionsFile(String configPath, FileResolver fileResolver) {
File file = fileResolver.resolveFile(configPath);
try (Scanner scanner = new Scanner(file)) {
scanner.useDelimiter("\\A");
String metricsConfigString = scanner.next();
return new JsonObject(metricsConfigString);
} catch (IOException ioe) {
logger.error("Error while reading metrics config file", ioe);
} catch (DecodeException de) {
logger.error("Error while decoding metrics config file into JSON", de);
}
return new JsonObject();
}
示例5
/**
* Lambda provides /tmp for temporary files. Set vertx cache dir
*/
@BuildStep
void setTempDir(BuildProducer<SystemPropertyBuildItem> systemProperty) {
systemProperty.produce(new SystemPropertyBuildItem(FileResolver.CACHE_DIR_BASE_PROP_NAME, "/tmp"));
}
示例6
/**
* 配置vertx的文件缓存功能,默认关闭
*/
protected static void configureVertxFileCaching(VertxOptions vertxOptions) {
boolean disableFileCPResolving = DynamicPropertyFactory.getInstance()
.getBooleanProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, true).get();
vertxOptions.getFileSystemOptions().setClassPathResolvingEnabled(!disableFileCPResolving);
}
示例7
private static void setVertxProperties() {
System.setProperty(FileResolver.DISABLE_FILE_CACHING_PROP_NAME, "true");
System.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, "true");
System.setProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME, "./" + TEST_DIR + "/.vertx");
}
示例8
private static void setVertxProperties() {
System.setProperty(FileResolver.DISABLE_FILE_CACHING_PROP_NAME, "true");
System.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, "true");
System.setProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME,
"./" + org.lealone.test.TestBase.TEST_DIR + "/.vertx");
}