首页 文章 精选 留言 我的

精选列表

搜索[药械客户管理],共10012篇文章
优秀的个人博客,低调大师

Redisson 3.12.2 发布,Redis 客户

Redisson 3.12.2 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格(In-Memory Data Grid)。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: Feature -引入了 Hibernate hibernate.cache.redisson.fallback 设置 Feature -添加具有批处理大小的 RLocalCachedMap.preloadCache 方法 Improvement -RLocalCachedMap.putAllOperation 方法优化 Fixed -org.redisson.jcache.JCacheEventCodec 抛出的异常 Fixed -RBatch 对象使用期间发生连接泄漏 Fixed -在对 readMode=REDIS 和 updateMode=AFTER_REQUEST 设置的相同请求中,Tomcat 会话应返回相同的对象 Fixed -调用相应方法后,RPriorityQueue 比较器不会删除或过期 Fixed -由 ClientConnectionsEntry.allConnections 字段引起的内存泄漏 Fixed -maxIdleTimeout = 1 hour设置为RedisExecutor.CODECS映射 Fixed -使用 RBatch 进行所有类型的 Redis 设置 更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.12.2

优秀的个人博客,低调大师

Redisson 3.12.1 发布,Redis 客户

Redisson 3.12.1 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格 (In-Memory Data Grid) 。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: 特性 添加了 RTransferQueue 对象 添加到 RSemaphoreAsync 对象的 availablePermits,availablePermitsAsync 和 rainingPermitsAsync 方法 添加到 RRemoteService 对象的 tryExecute,tryExecuteAsync 和 getPendingInvocationsAsync 方法 启用natMap 设置,建议使用 natMapper 添加了 checkSentinelsList 设置 添加了 cleanUpKeysAmount 设置 更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.12.1

优秀的个人博客,低调大师

Redisson 3.12.0 发布,Redis 客户

Redisson 3.12.0 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格 (In-Memory Data Grid) 。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: 特性 RExecutorService 任务 ID 注入 将带有 ttl 参数的 Submit() 方法添加到 RExecutorService 将带有 timeToLive 参数的 schedule() 方法添加到 RScheduledExecutorService 添加了 MyBatis 缓存实现 添加了 Spring Transaction Manager 的 doSuspend 和 doResume 方法的实现 添加了 WorkerOptions.taskTimeout 设置 添加了 RSemaphore.addPermits 方法 使用 WorkerOptions 对象定义 TaskFailureListener,TaskFinishedListener,TaskStartedListener 和 TaskSuccessListener 任务侦听器的能力 Bug 修复 CommandDecoder 引发 NPE ReplicatedConnectionManager 触发使用 IP 地址而不是主机名的从站的重新激活 反应式/Rxjava2 事务无法解锁回滚或提交时的锁定 Spring Transaction Manager 不处理 Redisson TransactionException RBuckets.get 为不存在的存储桶抛出 NPE RPermitExpirableSemaphore 不过期 RedissonCacheStatisticsAutoConfiguration 应该以 CacheMeterBinderProvider 存在为条件 更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.12.0

优秀的个人博客,低调大师

Redisson 3.11.6 发布,Redis 客户

Redisson 3.11.6 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格 (In-Memory Data Grid) 。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: 特性 添加 RExecutorServiceAsync.cancelTask​​Async() 方法 添加 RExecutorService.hasTask()方法 添加 RExecutorService.getTaskCount()方法 RMap 写后队列应该是容错的 添加了对 RQueue、RDeque、RDelayedQueue 对象具有限制的 poll() 方法 将 checkSlotsCoverage 设置添加到集群配置 添加 RExecutorService.getTaskIds() 方法 将 awaitAsync() 方法添加到 RCountDownLatch 对象 添加了 RCountDownLatchRx 和 RCountDownLatchReactive 对象 Bug 修复见更新说明: https://github.com/redisson/redisson/releases/tag/redisson-3.11.6

优秀的个人博客,低调大师

Redisson 3.11.5 发布,Redis 客户

Redisson 3.11.5 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格 (In-Memory Data Grid) 。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: 特性 Automatic-Module-Name条目已添加到清单文件 已将 subscriptionOnElements 方法添加到 RBlockingQueue 对象 添加到 RBlockingDeque 对象的 subscribeOnFirstElements 和 subscribeOnLastElements 方法 添加到 RScoredSortedSet 对象的 subscribeOnFirstElements 和 subscribeOnLastElements 方法 支持 Spring Data Redis 2.2.x 向 RLiveObjectService 对象添加了批处理的 persist 方法 Kryo5Codec 实现 修复 Redis url 中的主机详细信息在末尾引起多余的括号 RBuckets.get() 方法不适用于自定义编解码器 RLock.unlock() 方法永远挂起 RStream.trim 方法引发异常 Spring Data pubsub 侦听器执行多次 Redis 命令处理程序消耗 100% 的 CPU 资源 更新说明及下载地址

优秀的个人博客,低调大师

Spring cloud配置客户端(三)

覆盖远程配置属性 默认情况,Spring Cloud是允许覆盖的,spring.cloud.config.allowOverride=true通过程序启动参数,调整这个值为"false" --spring.cloud.config.allowOverride=true 启动后,重新Postman发送POST请求,调整spring.application.name值为"spring-cloud-new" 重点:如果spring.application.name不写的话,默认的话是项目名 自定义Bootstrap配置 创建META-INF/spring.factories文件{类似于Spring boot 自定义Starter} 自定义Bootstrap配置Configurtion package com.segmentfault.springcloudlesson1.bootstrap; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.MutablePropertySources; import org.springframework.core.env.PropertySource; import java.util.HashMap; import java.util.Map; /** * bootstrap 配置bean */ @Configuration public class MyConfiguration implements ApplicationContextInitializer { @Override public void initialize(ConfigurableApplicationContext applicationContext) { //从ConfigurableApplicationContext获取ConfigurableEnvironment实例 ConfigurableEnvironment environment = applicationContext.getEnvironment(); //获取PropertySources MutablePropertySources propertySources = environment.getPropertySources(); //定义一个新的 propertySource,并放置在首位 propertySources.addFirst(createPropertySource()); } private PropertySource createPropertySource() { Map<String, Object> source = new HashMap<>(); source.put("name", "shuai"); PropertySource propertySource = new MapPropertySource("my-property-source", source); return propertySource; } } 三. 配置MEAT-INF/spring.factories文件,关联Key org.springframework.cloud.bootstrapConfiguration= \ com.segmentfault.springcloudlesson2.bootstrap.Myconfiguration 自定义Bootstrap配置属性源 实现PropertySourceLocator package com.segmentfault.springcloudlesson1.bootstrap; import org.springframework.cloud.bootstrap.config.PropertySourceLocator; import org.springframework.core.env.*; import java.util.HashMap; import java.util.Map; /** * 自定义{@link PropertySourceLocator}实现 */ public class MyPropertySourceLocator implements PropertySourceLocator { @Override public PropertySource<?> locate(Environment environment) { if (environment instanceof ConfigurableEnvironment) { ConfigurableEnvironment configurableEnvironment = ConfigurableEnvironment.class.cast(environment); //获取PropertySources MutablePropertySources propertySources = configurableEnvironment.getPropertySources(); //定义一个新的 propertySource,并放置在首位 propertySources.addFirst(createPropertySource()); } return null; } private PropertySource createPropertySource() { Map<String, Object> source = new HashMap<>(); source.put("spring.application.name", "shuaishuai"); //设置名称和来源 PropertySource propertySource = new MapPropertySource("over-bootstrap", source); return propertySource; } } 配置META-INF/spring.factories org.springframework.cloud.bootstrapConfiguration= \ com.segmentfault.springcloudlesson1.bootstrap.MyConfiguration,\ com.segmentfault.springcloudlesson1.bootstrap.MyPropertySourceLocator

优秀的个人博客,低调大师

区分不同手机平台客户

Conclusion:Unlike User-Agent ,which let the browser describe its meta data and information , the two kinds of client by default will not have a pre-defined field which can function like this. Solution:(We created aself-defined fieldin the http header) For example ,we create a field namedMobile-Agent In client side: when we construct the http request ,we add the value of header “Mobile-Agent” to be some value Android Client codeonly need to set the “Mobile-Agent” header to be ”Android”. Code example: (see myhighlighted) publicJSONObjectcallJSONWebService(Stringurl){ HttpParamsmy_httpParams=newBasicHttpParams(); HttpConnectionParams.setConnectionTimeout(my_httpParams,conn_timeout); HttpConnectionParams.setSoTimeout(my_httpParams,conn_timeout); HttpClienthttpClient=newDefaultHttpClient(my_httpParams); HttpGethttpRequest=newHttpGet(url); httpRequest.setHeader("User-Agent","bleumagent"); httpRequest.setHeader(“Mobile-Agent”,”Android”); HttpResponsehttpResponse=null; JSONObjecthttpJsonResult=null; Stringresult=null; try{ httpResponse=httpClient.execute(httpRequest); if(httpResponse.getStatusLine().getStatusCode()==200){ HttpEntityhttpEntity=httpResponse.getEntity(); if(httpEntity!=null){ InputStreaminputStream=httpEntity.getContent(); result=this.convertStreamToString(inputStream); httpJsonResult=newJSONObject(result); inputStream.close(); } } }catch(Exceptione){ System.out.println("callJsonWebServicefailed."); e.printStackTrace(); } httpClient.getConnectionManager().shutdown(); returnhttpJsonResult; } IPhoneClient codecan use Objective-C to do the similar thing ,just set the “Mobile-Agent” header to be “IPhone” In server side’s servlet : we only use the Servlet API to resolve “Mobile-Agent” field. Then solved. 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/835904,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册