- 浏览: 118651 次
- 性别:
- 来自: 北京
最新评论
-
coyoc:
楼主封装得不错,不过部分方法是不是没实现完整,不像生产在用的吧 ...
spring data jpa的动态查询封装 -
lee1177:
hyf_0528 写道我单元测试 ...
spring data jpa的动态查询封装 -
zhuyuqu840123:
能给代码吗?
quartz+spring-集群版任务动态载入及修改 -
hyf_0528:
我单元测试了下,如果solveTeam是Event实体类多对多 ...
spring data jpa的动态查询封装 -
hanyi_:
...
quartz+spring-集群版任务动态载入及修改
文章列表
1、@Column注解name最好全写了,不然遇到像hibernate驼峰和下划线风格配置变更时会出现找不到属性,尤其打开自动建表情况;
2、只读操作情况,如果对读取对象进行了属性修改操作,那么JPA会认为你要修改这个实体,使用hibernate的情况下回默认执行一个update的SQL,然后你懂得由于没有写权限,这个方法开始报错了;
3、如果在一个事务里对一个实体进行了超过1次的持久操作,在使用eclipselink的情况下会报错,我觉得这个不错,强制你优化你的算法逻辑;
4、eclipselink是默认开启二级缓存的,集群必须做相应处理,不然你懂得。
Mac OS 80 端口莫名被占用问题的解决
- 博客分类:
- mac
安装 Nginx 后,启动服务时提示启动失败——80端口被占用。
查看进程发现存在几个httpd……
可 Mac OS 自带的 Apache 默认是没有启动的呀?!(没有开启Web共享)怎么自己就启动运行了呢?
也不知道是不是更新XCode之类的软件导致的~
一般的开机启动项可以在 System Preferences–Users & Groups–Login Items 中添加或删除,可这里没有发现与 Apache 有关的启动项~
于是 Google 到了下面一个可行的方法,打开终端执行下面的命令:
sudo launchctl unl ...
spring jpa 读写分离
- 博客分类:
- spring
本文主要解决基于spring data jpa读写分离。
思想:在dataSource做路由,根据事务判断使用主从数据源。
背景:spring+spring data jpa(hibernate jpa)
首先是jpa配置,时间有限在原基础上该的,既有java配置也有xml配置,见谅。
先声明EntityManager
<!-- Jpa Entity Manager 配置 -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.Loca ...
转自http://blog.csdn.net/ljfbest/article/details/8045988
安装好maven后,想要使用他的一些命令,需要配置环境变量PATH:D:\study\apache-maven-3.0.4\bin
运行mvn命令实际上是执行了Java命令,既然是运行Java,那么运行Java命令可用的参数当然也应该在运行mvn命令时可用。这个时候,MAVEN_OPTS环境变量就能派上用场。 设置MAVEN_OPTS的值为:-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目 ...
关于单机版的配置描述前文已经提过了,有兴趣的可以看下
http://lee1177.iteye.com/blog/2171379
这里介绍对于集群做的一个简单实现。
首先其实quartz针对就群有自己的实现了,本人这个实现不过是简化并在前文基础上做的一个集群实现。
本实现目的是在集群中任一一台作为运行节点,如果该节点不可用,自动切换为其他节点继续执行。同时自动检测定时任务设定被修改的重新加载。未考虑负载均衡及异常任务恢复情况。
下面说如何做的:
首先是SchedulerJob的定义比之前多了一个更新时间的属性
public clas ...
quartz的使用比较普遍,动态修改修改也比较成型,这里只列举自己在项目中已比较简单的方式来实现的quartz的动态修改。
首先把所有quartz任务定义放入放入数据库中,对应java自定义实体如下
public class SchedulerJob {
public static final int STATUS_USED = 1; //可用状态
/** 任务id spring的bean名称*/
private String jobId;
/** 任务名称 */
private String jobName;
...
Introduction
Decide which serialization strategy to use
Configure tomcat
Add memcached-session-manager jars to tomcat
Add custom serializers to your webapp (optional)
Configure memcached-session-manager as <Context> Manager
Overview over memcached-session-manager configuration attribut ...
1.OutOfMemoryError: Java heap space
堆溢出
原因:在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
解决:没有内存泄露的情况下,调整-Xms -Xmx参数。
-Xms:初始堆大小
-Xmx:最大堆大小
-Xms -Xmx一般配置成一样比较好比如set JAVA_OPTS= -Xms1024m -Xmx1024m
(需要注意32位系统对内存的限制)
2.OutOfMemoryError: PermGen space
永久保存区域溢出
原因:PermGen space的全称是 ...
企业项目中经常使用到邮件发送,尤其在流程审批伴随大量的触发邮件,为提供效率邮件自然设置为异步发送,但单纯多线程异步又造成了先后混乱的现象。所以做了个简单的单线程异步发送队列来处理。
1、把原有的邮件发送服务类做了个修改
ublic class MailSendService {
private @Value("${system.sendmail.from}") String mailForm;
@Autowired
private JavaMailSender javaMailSender; // 邮件发送对象,采用的是spring中的实现类org.sp ...
在使用shiro的过程中,项目常会遇到安全拦截权限重定义或资源重载问题。简单研究下了,对之前的shiro做了修改,完成对于数据库方式记录资源权限信息的初始载入及运行过程中重载。
shiro配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
在mvc配置文件里添加一个配置
<mvc:interceptors>
<bean class="xxx.xxx.SystemInterceptor" />
</mvc:interceptors>
实现类
/**
* 全局在线用户验证与赋值处理
* @author lee
*
*/
public class SystemInterceptor extends HandlerInterceptorAdapter{
@SuppressWarnings("unchecked&quo ...
之前一直使用spring security来做安全管理,感觉配置稍微有点复杂,于是尝试了下shiro,感觉的确简单不少。记录下配置和实现过程。
因为还是spring的底子,所以用的shiro-spring,首先用maven把相关包弄下来
dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</depend ...
spring mvc感觉很好用,尤其是对接收对象参数的自动绑定非常简便,但对于同时传多个对象时有些困扰。同时项目并没有直接使用spring的formtag。从网上学来的多对象传值,自己优化了下,原文找不到出处了这里记录下。
首先声明一个注解类,用于对传值对象的声明
/**
* 处理spring mvc 对象绑定注解
* @author lee
*
*/
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Request ...
spring data jpa的动态查询封装
- 博客分类:
- spring
最近使用spring data jpa做了两个项目,对于动态查询的不友好做了个类似hibernate的封装,记录也分享下
首先定义一个所有条件的容器,继承Specification
/**
* 定义一个查询条件容器
* @author lee
*
* @param <T>
*/
public class Criteria<T> implements Specification<T>{
private List<Criterion> criterions = new ArrayList<Criterion> ...
http://www.open-open.com/ajax/ajax20101111223639.htm
http://www.open-open.com/ajax/ajax20101025173239.htm
http://www.open-open.com/ajax/ajax20100916155536.htm
http://www.open-open.com/ajax/ajax20080622155522.htm
http://www.open-open.com/ajax/ajax20080723165851.htm
http://www.open-open.com/ajax ...