我知道如何在org中使用xml配置创建CacheManager。ehcache:ehcache:3.8.1:
import org.ehcache.config.Configuration;
import org.ehcache.xml.XmlConfiguration;
import org.ehcache.config.builders.CacheManagerBuilder;
.
.
.
URL myUrl = CacheUtil.class.getResource("/my-config.xml");
Configuration xmlConfig = new XmlConfiguration(myUrl);
cacheManager = CacheManagerBuilder.newCacheManager(xmlConfig);
cacheManager.init();
我还知道如何使用统计服务创建缓存管理器:
StatisticsService statisticsService = new DefaultStatisticsService();
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.using(statisticsService)
.build();
cacheManager.init();
但是如何使用统计服务从XML配置创建缓存管理器呢?
类EhcacheManager中有一个构造函数,它接受2个参数:
public EhcacheManager(Configuration config, Collection<Service> services)
您可以按如下方式使用它:
URL myUrl = CacheUtil.class.getResource("/my-config.xml");
Configuration xmlConfig = new XmlConfiguration(myUrl);
StatisticsService statisticsService = new DefaultStatisticsService();
Set<Service> services = new HashSet<>();
services.add(statisticsService);
cacheManager = new EhcacheManager(xmlConfig, services);
下面是演示基本JCache配置API用法的示例代码:
CachingProvider provider = Caching.getCachingProvider();
CacheManager cacheManager = provider.getCacheManager();
MutableConfiguration<Long, String> configuration =
new MutableConfiguration<Long, String>()
.setTypes(Long.class, String.class)
.setStoreByValue(false)
.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE));
Cache<Long, String> cache = cacheManager.createCache("jCache", configuration);
cache.put(1L, "one");
String value = cache.get(1L);
>
使用提供程序检索默认的CacheManager实例。
使用MutableConfiguration
创建缓存配置
键类型和值类型分别为Long
和String
...
配置为通过引用(而不是通过值)存储缓存条目...
并为从那一刻起的条目定义了一分钟的到期时间,从而创建了这些条目。
使用缓存管理器,使用步骤中创建的配置创建名为jCache的缓存
将一些数据放入缓存中。
我使用windows服务和Unix ssh服务在windows中创建了一个从服务器,在Unix中创建了一个从服务器。当我使用复制到从插件将一个文件从主服务器复制到从服务器时,它在Unix中工作。但如果我在windows上做同样的事情,该文件将自己复制到主服务器中。我给出了下面的输出。它显示的目录在主计算机中,而不在从计算机中。 在工作区C:\jenkins\slaves\workspace\pyt
4.4.1.4 创建/使用内部服务 内部服务是除了内部应用以外的应用禁止使用的服务。 它们用于内部开发的应用,以便安全地共享信息和功能。 以下是使用Messenger绑定类型服务的示例。 要点(创建服务): 定义内部签名权限。 需要内部签名权限。 不要定义意图过滤器,并将导出属性显式设置为true。 确认内部签名权限是由内部应用定义的。 尽管意图是从内部应用发送的,但要小心并安全地处理接收到的意图
4.4.1.3 创建/使用伙伴服务 伙伴服务是只能由特定应用使用的服务。 系统由伙伴公司的应用和内部应用组成,用于保护在伙伴应用和内部应用之间处理的信息和功能。 以下是 AIDL 绑定类型服务的示例。 要点(创建服务): 不要定义意图过滤器,并将导出属性显式设置为true。 验证请求应用的证书是否已在自己的白名单中注册。 请勿(无法)通过onBind(onStartCommand, onHandl
4.4.1.2 创建/使用公共服务 公共服务是应该由未指定的大量应用使用的服务。 有必要注意,它可能会收到恶意软件发送的信息(意图等)。 在使用公共服务的情况下,有必要注意,恶意软件可能会收到要发送的信息(意图等)。 下面展示了如何使用startService类型服务的示例代码。 要点(创建服务): 将导出属性显式设置为true。 小心并安全地处理接收到的意图。 返回结果时,请勿包含敏感信息。 A
4.4.1.1 创建/使用私有服务 私有服务是不能由其他应用启动的服务,因此它是最安全的服务。 当使用仅在应用中使用的私有服务时,只要您对该类使用显式意图,那么您就不必担心意外将它发送到任何其他应用。 下面展示了如何使用startService类型服务的示例代码。 要点(创建服务): 将导出属性显式设置为false。 小心并安全地处理收到的意图,即使意图从相同应用发送。 由于请求应用在同一应用中,
创建 faygo 的Web服务非常灵活自由。用户可以设置服务名称、服务版本号,一个项目应用可以同时创建多个服务、多种网络类型。 支持的网络类型: 网络类型 配置net_types值 HTTP http HTTPS/HTTP2(TLS) https HTTPS/HTTP2(Let’s Encrypt TLS) letsencrypt HTTPS/HTTP2(Let’s Encrypt TLS on