- 浏览: 24972 次
- 性别:
- 来自: 北京
最新评论
文章列表
git stash 暂存工作区
git stash list 查看暂存列表
git stash apply 取出第一个暂存区
git stash $stashId 取出暂存区
git stash clear 清空暂存区
untracked file想要暂存的话,可以用git stash -u,或者先git add为tracked file
git branch 查看本地分支(当前分支标*)git branch <branch-name> 创建本地分支git branch <branch-name> <start-point> 从某个提交节 ...
项目之前用的spring-data-jpa,版本是1.1.0.RELEASE,依赖关系如下:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
后由于业务扩展,需要增加mongodb,采用关系型数据库和nosql联合持久化,因此加入了s ...
上传文件开发时候一切正常,设置的maxUploadSize是10M,10M以下都能成功上传。
上线部署后发现大于1M的文件都上传失败,错误信息是"413 request entiry too large"。
经调查发现是由于部署了nginx,nginx默认限制最大上传文件就是1M,
在nginx的配置文件中http段添加client_max_body_size 10m;
重启nginx问题解决。
mysql的drop index语句不支持if exists条件,在sql中先删除索引,再创建索引,如果对于新建的数据库,库中没有该索引,就会报错,导致后面的sql不再执行。
因此需要使用存储过程来判断索引是否存在,如果存在则删除。
sql代码如下:
DROP PROCEDURE IF EXISTS del_idx;
create procedure del_idx(IN p_tablename varchar(200), IN p_idxname VARCHAR(200))
begin
DECLARE str VARCHAR(250);
set @str=concat(' ...
由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner。在安装的时候碰到了不少问题,所以写下此文章总结遇到的问题以及解决方案,希望能帮到大家。也希望大家转载注明出处。
Winsows 的Loadrunner 安装就不多讲了,这个太容易了。
以下是Linux 中安装 Load Generator 说明:
Linux 系统版本:CentOS5.4
Load Generator 版本 : Load Generator 11
安装步骤如下:
1. 到HP官网下载Load Generator 安装文件 Software,_Load_Generator_11.00_T7 ...
nfs 安装(1)
apt-get install nfs-kernel-server
apt-get install portmap nfs-common
(2)
编辑/etc/exports
/home/username/nfsroot *(rw,sync,no_root_squash)
(3)
修改挂载点的属性
chmod 777 /home/username/nfsroot
(4)
重启nfs
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/portmap restart
(5)
在本机上测试
showmount ...
当AJAX的url相同,且使用GET获取时,同一个页面或者刷新页面时IE浏览器不会每次都去服务器端加载,而是使用缓存,导致数据没有及时更新。
可以使用如下方法:
1、用JavaScript在Ajax提交的时候给url加入一个随机数,使每次url都不同。req.open(url + "&" + Math.random())
2、将GET改为POST
3、用jquery的ajax时可以在options中加cache:false参数
由于hibernate不支持From子句中的子查询,很多地方处理起来不方便,考虑使用视图来模拟子查询,方法如下:
1、在数据库中使用sql建立需要的视图V_User
2、像建立普通表的映射一样,建立一个视图的Entity类UserView.java,用annotation或者xml进行ORM映射,@Table(name="V_User"),由于视图没有主键,UserView.java可以使用联合主键,建一个主键的Class,注意联合主键必须重写hashCode和equals方法。
3、在DAO中像使用普通Entity一样使用视图进行查询。
目前还没有找到怎么通过hiberna ...
自己通过EntityManagerFactory创建出来的EntityManager需要手动关闭,否则将会一直占用连接,久而久之导致连接占满,应用服务器假死;
通过Spring的@PersistenceContext注入的EntityManager不需要手动关闭,容器会自动关闭连接。
EntityManager没有关闭的问题没有注意到的时候不太好发现,可以通过连接池的配置来进行debug,可以看出是否有连接一直被占用没有关闭,具体配置参见:http://lydia4me.iteye.com/blog/1765464
在tomcat 7中默认会检查EL表达式中是否会有java关键字。比如Foo#getClass()#name()中有class关键字,${foo.class.name}这样就是会报错,解决方法是${foo['class'].name},再如Session#isNew() ,要${pageContext.session['new']}这样表达。
参考https://issues.apache.org/bugzilla/show_bug.cgi?id=50147
或者有另种比较暴力的解决方法,就是修改配置文件,不让检查java关键字。在tomcat 6中“org.apache.el.parser ...
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
……
</bean>
当tomcat关闭的时候会自动调用contextDestroyed(ServletContextEvent event)这个方法,
AbstractApplicationContext.Close这个方法是要你自己调用的,在程序要结束的时候保证调用这个close方法,在这里的话就是由Listener ...
<c3p0-config>
<default-config>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement">3</property>
<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
<property name="acquireRetryAttempts">30</property>
<!--两次连接 ...
mysqldumpslow -s c -t 10 /var/log/mysql/mysql-slow.log
MySQL数据库有一个功能就是可以以日志的形式记录下来运行的比较慢的sql语句,默认是没有开启这个功能的。为了开启这个功能,需要要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行:
long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes
long ...