- 浏览: 78046 次
- 性别:
- 来自: 杭州
最新评论
文章列表
项目使用的是SpringMVC+hibernate,由于部署使用nginx代理发布多台服务(多个tomcat),使用Spring-Session进行处理session,用redis托管Session。
下面为处理方式步骤:
1.如果项目之前没有整合过spring-data-redis的话,这一步需要先做,在maven中添加这几个依赖:
<!-- config redis data and client jar -->
<dependency>
<groupId>org.springframework.data</groupId>
...
语法
标题
h1. 标题一
h2. 标题二
h3. 标题三
h4. 标题四
h5. 标题五
h6. 标题六
字体
显示
输入
黑体
*黑体*
斜体
_斜体_
删除线
-删除线-
下划线
+下划线+
下标sub
下标 ~sub~
上标sup
上标 ^sup^
所有这些标 ...
引言
我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。
面试
“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以取得快一些。”
这就是 programmer one (programmer one 是一个面试者)在面试中的回答(一个月前,他向公司提交了简历,想要应聘要求在缓存,缓存框架,大规模数据操作有着丰富经验的 java 开发职位)。
单节点低负荷的情况下,我们通常把一个WEB应用打成WAR包放WEB应用服务器,如TOMCAT下运行就行了(如图1)。但随着用户量的增加,系统负载日益增长,这时我们通常就会采用多台WEB应用服务器组成集群来分担负荷(tomcat1, tomcat2上同时部署了应用application1; tomcat3上单独部署了应用application3),这时某一用户对同一应用的访问就有可能分配到从不同的TOMCAT访问这个应用(如图2, session1和session2同时访问application1)。假设我们的WEB访问请求都是无状态的,多个后台应用和一个后台应用的处理就没什么区 ...
有关nginx负载均衡的常用方式,包括轮询方式、按权重分配方式、ip hash分配方式,以及nginx负载均衡对server控制的方法。
一、nginx负载均衡方式
1、轮询方式
轮询即Round Robin,根据Nginx配置文件中的顺序,依次 ...
有关nginx负载均衡的配置方法,nginx中负载后端服务是使用upstream,这里就介绍下upstream的一些选项,包括轮循方式、权重、ip_hash等,需要的朋友参考下。
nginx负载均衡选项upstream用法举例
nginx中upstream的几种方式:
1、轮询(weight=1)
默认选项,当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream bakend {
server 192.168.1.10;
server 192.168.1.11;
}
2、 ...
依赖jar包:
<!-- config redis data and client jar-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.6.4.RELEASE</version>
...
问题
tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多:
localhost.2012-07-05.txt
catalina.2012-07-05.txt
manager.2012-07-05.txt
host-manager.2012-07-05.txt
目的
Tomcat以上日志都输出到同一个文件中。
修改步骤
打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中
...
用法一:常量
在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
public enum Color {
RED, GREEN, BLANK, YELLOW
}
...
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。
下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:
1. 原始的接口定义常量
2. 语法(定义)
3. 遍历、switch 等常用操作 ...
Enum 类型的介绍
枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。
举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现。
清单 1. 常量定义
Public static class RainbowColor {
// 红橙黄绿青蓝紫七种颜色的常量定义
public static final i ...
@AspectJ的详细用法 在spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下:
一些常见的切入点的例子 execution(public * * (. .)) 任意公共方法被执行时,执行切入点函数。 execution( * set* (. .)) 任何以一个“set”开始的方法被执行时,执行切入点函数。 execution( * com.demo.service.AccountService.* (. .)) 当接口AccountService 中的任意方法被执行时,执行切入点函数。 execution( * com.demo. ...
注解注入顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired、Resource、Qualifier、Service、Controller、Repository、Component。
Autowired是自动注入,自动从spring的上下文找到合适的bean来注入
Resource用来指定名称注入
Qualifier和Autowired配合使用,指定bean的名称
Service,Controller,Repository分别标记类是Service层类,Controller层类,数据存储层的类,spring扫描注解配置时,会标记这些类要生成bean。
...
最近在项目中调用.NET的服务时,Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY。
解决方法有两种:
直接将bean对象中的属性改为public,属性名命名为首字母大写,比如{"Name":"nomouse","Age":12},定义相应的bean为:
public class User {
public String Name;
public ...