- 浏览: 330944 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
谢谢,写的不错。
使用hector操作Cassandra -
mr_von:
非常感谢!
paoding的分词使用 -
howgoo:
http://www.dhtmlx.com/docs/prod ...
dhtmlxGrid分页与排序 -
青春的、脚步:
谢谢
spring-data-mongodb的MongoTemplate 使用小例子 -
青春的、脚步:
xiaofancn 写道青春的、脚步 写道这个能查询都个值在某 ...
spring-data-mongodb的MongoTemplate 使用小例子
import java.io.IOException; import java.util.Map; public interface CacheManager { static final String lbsNameCache= "lbsNameCache"; Object put(Object key, Object value); Object get(Object key); void remove(Object key); void putAll(Map<Object, Object> map); Object put(String namedCache,Object key, Object value); Object get(String namedCache,Object key); void remove(String namedCache,Object key); void putAll(String namedCache,Map<Object, Object> map); void init() throws IOException; void destroy(); }
import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import org.infinispan.Cache; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.manager.EmbeddedCacheManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class InfinispanCacheManager implements CacheManager { private Logger logger = LoggerFactory .getLogger(InfinispanCacheManager.class); private EmbeddedCacheManager embeddedCacheManager; private Map<String, Cache<Object, Object>> caches = new HashMap<String, Cache<Object, Object>>(); private String configurationFile; public String getConfigurationFile() { return configurationFile; } public void setConfigurationFile(String configurationFile) { this.configurationFile = configurationFile; } public void setEmbeddedCacheManager( EmbeddedCacheManager embeddedCacheManager) { this.embeddedCacheManager = embeddedCacheManager; } public InfinispanCacheManager() { } public void init() throws IOException { if (embeddedCacheManager == null) { embeddedCacheManager = new DefaultCacheManager(configurationFile); } Set<String> nameCaches = embeddedCacheManager.getCacheNames(); Iterator<String> iterator = nameCaches.iterator(); while (iterator.hasNext()) { String nameCahe = iterator.next(); caches.put(nameCahe, embeddedCacheManager.getCache(nameCahe)); } if (logger.isInfoEnabled()) { logger.info("cache start"); } } public void destroy() { Set<String> nameCaches = caches.keySet(); Iterator<String> iterator = nameCaches.iterator(); while (iterator.hasNext()) { String nameCahe = iterator.next(); Cache<Object, Object> cache = embeddedCacheManager .getCache(nameCahe); if (cache != null) { cache.stop(); } } if (logger.isInfoEnabled()) { logger.info("cache stop"); } embeddedCacheManager.stop(); } public Cache<Object, Object> getCache() { return caches.get(EmbeddedCacheManager.DEFAULT_CACHE_NAME); } private Cache<Object, Object> getNameCache(String cacheName) { return caches.get(cacheName); } @Override public Object put(Object key, Object value) { return getCache().put(key, value); } @Override public void putAll(Map<Object, Object> map) { getCache().putAll(map); } @Override public Object get(Object key) { return getCache().get(key); } @Override public Object get(String namedCache, Object key) { Cache<Object, Object> cache = getNameCache(namedCache); if (cache == null) { return null; } if (logger.isInfoEnabled()) { logger.info("get key"+key); } return cache.get(key); } @Override public Object put(String namedCache, Object key, Object value) { Cache<Object, Object> cache = getNameCache(namedCache); if (cache == null) { return null; } if (logger.isInfoEnabled()) { logger.info("put key"+key); } return cache.put(key, value); } @Override public void putAll(String namedCache, Map<Object, Object> map) { Cache<Object, Object> cache = getNameCache(namedCache); if (cache == null) { return; } cache.putAll(map); } @Override public void remove(Object key) { getCache().remove(key); } @Override public void remove(String namedCache, Object key) { Cache<Object, Object> cache = getNameCache(namedCache); if (cache == null) { return; } if (logger.isInfoEnabled()) { logger.info("remove key"+key); } cache.remove(key); } }
<?xml version="1.0" encoding="UTF-8"?> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:4.2 http://www.infinispan.org/schemas/infinispan-config-4.2.xsd" xmlns="urn:infinispan:config:4.2"> <global> <transport> <properties> <property name="configurationFile" value="jgroups-udp.xml"/> </properties> </transport> </global> <default> <clustering mode="replication"> <stateRetrieval fetchInMemoryState="true" timeout="20000" /> <async /> </clustering> <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000" useLockStriping="false" /> <deadlockDetection enabled="true" spinDuration="1000" /> <expiration lifespan="86400" maxIdle="43200" /> <lazyDeserialization enabled="true" /> </default> <namedCache name="lbsNameCache"> </namedCache> </infinispan>
<config xmlns="urn:org:jgroups" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:jgroups file:schema/JGroups-2.8.xsd"> <TCP bind_port="7800" loopback="true" port_range="30" recv_buf_size="20000000" send_buf_size="640000" discard_incompatible_packets="true" max_bundle_size="64000" max_bundle_timeout="30" enable_bundling="true" use_send_queues="true" sock_conn_timeout="300" enable_diagnostics="false" skip_suspected_members="true" thread_pool.enabled="true" thread_pool.min_threads="2" thread_pool.max_threads="8" thread_pool.keep_alive_time="5000" thread_pool.queue_enabled="false" thread_pool.queue_max_size="100" thread_pool.rejection_policy="Run" oob_thread_pool.enabled="true" oob_thread_pool.min_threads="2" oob_thread_pool.max_threads="8" oob_thread_pool.keep_alive_time="5000" oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="Run" /> <!-- you need add initial hosts list in initial_hosts --> <TCPPING timeout="3000" initial_hosts="localhost[7800],localhost[7801]}" port_range="5" num_initial_members="1" /> <!-- use multicast here --> <!--<MPING bind_addr="127.0.0.1" break_on_coord_rsp="true" --> <!--mcast_addr="230.8.8.8" mcast_port="17890" ip_ttl="2" --> <!--num_initial_members="3"/> --> <MERGE2 max_interval="30000" min_interval="10000" /> <FD_SOCK /> <!-- Note that this is an atypically short timeout and a small number of retries configured this way to speed up unit testing, since we know all nodes run in the same JVM and hence failure detections will be very quick. --> <FD timeout="3000" max_tries="3" /> <VERIFY_SUSPECT timeout="1500" /> <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0" retransmit_timeout="300,600,1200,2400,4800" discard_delivered_msgs="false" /> <UNICAST timeout="300,600,1200" /> <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="400000" /> <pbcast.GMS print_local_addr="false" join_timeout="7000" view_bundling="true" /> <FC max_credits="2000000" min_threshold="0.10" /> <FRAG2 frag_size="60000" /> <pbcast.STREAMING_STATE_TRANSFER /> <!-- <pbcast.STATE_TRANSFER/> --> <pbcast.FLUSH timeout="0" /> </config>
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <bean class="cache.InfinispanCacheManager" id="cacheManager" init-method="init" destroy-method="destroy"> <property name="configurationFile" value="META-INF/cache/infinispan-config.xml" /> </bean> </beans>
发表评论
-
spring cloud gateway 全局过滤器。
2019-03-17 23:11 527spring cloud gateway 网关 ... -
elasticsearch 5.4搜索
2017-05-19 08:37 148@Test public void t ... -
netty简单的操作memcached
2017-04-19 18:59 976pom文件 <dependency> ... -
juc系列-Executor框架
2017-03-20 13:34 699转自 juc系列-Executor框架 什 ... -
ReentrantLock 类
2017-03-19 21:11 11.1 什么是reentrantlock java.u ... -
juc之CountDownLatch、CyclicBarrier和Semaphore例子
2017-03-19 17:23 833import java.util.concurren ... -
netty客户端与服务端例子
2017-03-12 20:07 2799package com.snailteam.nett ... -
freemaker集成spring
2017-02-26 19:00 567<bean id="freeMark ... -
spring集成Hessian插件配置改成自动注入。
2017-02-10 15:39 834原来的配置 <bean name="/ ... -
web开发模版
2017-02-09 14:42 0# Rules reminder: # DEBUG &l ... -
Java多线程
2017-02-04 14:39 515线程状态图 新建状态(New): ... -
hash冲突解决
2017-01-23 18:30 4531、开放地址法有一个公式: m是hash表长度,di ... -
mybatis +spring 分库
2015-04-30 17:56 353<context:component-scan b ... -
Java并发任务处理例子
2014-02-12 16:06 1125public void init() { su ... -
JAVA动态代理模式
2012-10-03 01:01 1183这是我要实现的效果 public static ... -
paoding的分词使用
2012-06-13 21:30 4865paoding下载 http://code.googl ... -
使用spring-hadoop操作hadoop
2012-05-20 02:12 32参考文章 http://blog.springsource. ... -
solr3.5集成paoding和位置搜索及对solrj的使用。
2012-04-28 02:12 1978http://xiaofancn.iteye.com/blog ... -
日期处理DateUtils
2012-03-24 09:47 4811import java.text.SimpleDateF ... -
Cassandra的数据分布情况测试
2012-03-16 15:09 20331、规划种子节点ip和Token值的对应 4个种子 ...
相关推荐
Infinispan的LGPL许可证和活跃的开发及用户社区支持,使其成为众多项目中的首选。它不仅能够降低企业成本,还能提高灵活性,通过无缝集成现有应用程序环境,将它们部署至云端基础设施,进一步增强了其市场竞争力。 ...
此外,源码分析有助于开发者了解如何集成Infinispan到自己的项目中,以及如何编写自定义模块来扩展其功能。 **工具支持** Infinispan提供了丰富的工具支持,包括命令行接口(CLI)、管理控制台、JMX监控以及...
这个版本为开发者提供了与Spring 5.1版本兼容的API和配置,以便于在Spring应用中无缝集成Infinispan。通过这个库,开发者可以利用Infinispan的强大功能,如分布式缓存、事件监听、查询以及事务管理等,同时享受到...
wildfly10-infinispan测试 具有infinspan和ebj配置的Wildfly容器的快速入门测试服务 安装 野蝇容器 要获取野生果蝇,请进入bin目录 cd $WILDFLY_HOME/bin 执行独立批处理 linux: ./standalone.sh --debug window: ./...
《Infinispan Server REST API 5.2.20.Final:开源项目与ElasticSearch安全增强——Search Guard插件详解》 Infinispan Server REST API 5.2.20.Final是一个用于分布式内存数据网格的开源项目,它提供了强大的数据...
Infinispan是JBoss公司推出的一个强大且高度可配置的内存数据网格平台,提供缓存服务,支持数据持久化。本篇文章将主要探讨Infinispan的JDBC缓存存储功能,并结合Spring Integration Java DSL进行深入讲解。 首先,...
通过Infinispan Core 5.2.11.Final中的类路径扫描工具,我们可以学习到如何在实际项目中实现类似功能,从而提高程序的灵活性和可维护性。同时,这也反映了开源项目的力量,通过分享和学习,我们可以不断提高自身技术...
这两个开源项目在现代分布式系统中扮演着重要角色,Infinispan作为数据网格,可处理大规模数据存储和缓存需求,而Jedis则为Java开发者提供了便捷的Redis访问方式,共同推动了企业级应用的高效运行。
通过infinispan-spring-boot-master这个项目,你可以深入学习如何配置和使用Infinispan启动器。该项目包含示例代码和配置,是实践和理解Infinispan与Spring Boot集成的绝佳资源。开发者可以借此了解如何在实际项目中...
首先,`infinispan-cli-interpreter-8.2.0.Beta2.zip`是Infinispan项目的一部分,Infinispan是一个高性能、分布式内存数据网格平台,广泛应用于缓存、实时分析和大数据处理。它的命令行解释器(CLI)为用户提供了一...
无论是对于想要深入了解Infinispan的初学者还是希望将其应用于实际项目中的高级开发者来说,这本书都是一个不可或缺的资源。通过阅读本书,读者可以更好地理解如何利用Infinispan构建出高效、可扩展且具有高可用性的...
Infinispan Server HotRod是Infinispan项目的一个组件,它是一个高性能、可扩展的数据网格平台,专为分布式缓存和数据存储设计。HotRod是Infinispan的远程客户端-服务器协议,允许客户端通过网络与Infinispan服务器...
通过查看源代码,你可以深入理解如何在Vert.x应用中集成Infinispan,如何配置和使用其特性的具体实现。同时,示例项目提供了实践操作的起点,帮助开发者快速上手。 总的来说,Vert.x Infinispan结合了Vert.x的事件...
在"Infinispan-presentation-splitbrain"项目中,我们可以通过JavaScript进行交互式演示,观察Infinispan在遇到网络分区时的行为。这个项目可能包含一系列的实验场景,例如模拟网络分区、节点故障,以及恢复过程,以...
【标题】"Infinispan ...而锌作为 Scala 项目构建的辅助工具,虽然与 Infinispan 主题不直接相关,但同样在软件开发过程中扮演着重要角色。对于大型 Scala 项目来说,高效的增量编译器如 Zinc 可以显著提高开发效率。
通过这个源码,开发者可以了解项目的内部结构,进行自定义配置,或者为项目提供增强和修复。 综合来看,"infinispan-client-hotrod-8.2.0.Final.zip" 和 "probedock-junit.zip" 是两个独立但相关的开源工具,它们都...
《Infinispan Remote Query Client 7.0.0.Final 深度解析与开源项目实践》 Infinispan,作为一个高性能、分布式的内存数据网格,是JBoss的一个核心组件,它提供了缓存解决方案,支持事务处理、数据复制以及分布式...
Infinispan的设计目标是提供一个高度灵活且可配置的解决方案,它不仅支持数据缓存,还支持数据存储和计算。在7.0.0.CR1版本中,Infinispan已经具备了稳定性和性能优化,为开发者提供了强大的数据处理能力。 ...
总的来说,`InfinispanExample`项目为我们提供了一个了解和学习Infinispan特性和使用方法的平台,通过实际操作可以深入理解其在Java应用程序中的工作原理和优势。无论是对于开发高效缓存系统,还是构建分布式应用...
总之,"infinispan-server-core-7.0.0.Alpha4.zip" 和 "rundeck-hipchat-plugin.zip" 分别代表了两个开源项目的关键组件:一个是高性能的分布式缓存系统,另一个则是自动化工具与协作平台的集成插件。这两个工具都...