以前在开发时只知道依靠数据库事务来保证程序关闭时数据的完整性. 但有些时候一个业务上要求的原子操作,不一定只包括数据库,比如外部接口或者消息队列.此时数据库事务就无能为力了. 这时我们可以依靠java提供的一个工具方法:java.lang.Runtime.addShutdownHook(Thread hook) addShutdownHook方法可以加入一个钩子,在程序退出时触发该钩子. (退出是指ctrl+c或者kill -15,但如果用kill -9 那是没办法的,具体有关kill的sign…
转自:http://blog.csdn.net/lastsweetop/article/details/3961911 目录(?)[-] javalang 类 Runtime getRuntime exit addShutdownHook removeShutdownHook halt runFinalizersOnExit exec exec exec exec exec exec availableProcessors freeMemory totalMemory maxMemory gc…
想利用泛型抽取BaseDao层,简化操作时出现故障: @Transactional这个注解是能够继承的.于是就想写在抽取的BaseDao层上,让实现的类能够不用写@Transactional,就可开启事务. 问题描写叙述: 因为偷懒.没给BaseDao抽接口.代码例如以下: package com.liang.ssh2.base; import java.lang.reflect.ParameterizedType; import java.util.Collections; import ja…
场景 刚写的scala处理bmp文件的实验, 打了jar包让java调用一下, 结果发生这个错误. package org.tanglizi.bmp.demo; import org.tanglizi.bmp.image.BmpImage; import scala.Tuple3; public class Application { public static void main(String[] args) { BmpImage image = BmpImage.create(200, 10…
情景: mybatis连接oracle 报错: 测试增的时候,报错 Java.lang.Long cannot be cast to  java.lang.Integer:删改没有报错. 排查过程: 1.先针对映射的sql进行排查,打印sql,直接在oracle上执行,没有问题. 2.观察接口的返回结果,发现返回值定义为int,找到问题所在. 问题虽小,但发现问题的时间稍长.从另一个方面说明,代码生成很有必要.…
2016-05-18 15:44:25 ERROR Dispatcher.error[user:|url:]:L38 - Dispatcher initialization failed Unable to load configuration. - bean - jar:file:/F:/maven3.1/repository/org/apache/struts/struts2-rest-plugin/2.3.16/struts2-rest-plugin-2.3.16.jar!/struts-…
Mybatis的CRUD小Demo 为方便查看每次的增删改结果,封装了查询,用来显示数据库的记录: public static void showInfo(){ SqlSession session = getSqlSesion(); String sql = "me.gacl.mapping.userMapper.getUsers"; List<Map<String,String>> users = session.selectList(sql); for(M…
今天页面上突然查询不出数据,大致的sql语句是 select xx ,xxx from table a where a.lrmb in ( 6101060033, 61010503300, 61016666645 ) order by xxx desc 报错信息是"无效数字",很快就发现是lrbm这个字段里面的数字上没有引号,而之前一直是可以查询出数据的,所以很可能是数据库里面有人人工的添加了一条数据,这条数据的lrbm字段的类型有错,待会儿在自己本地 数据库里面测试一条错误哦数据测试…
报错:java.lang.UnsatisfiedLinkError:no dll in java.library.path 参考: Java调用Dll时,会出现no dll in java.library.path异常,在Java Project中不常见,因为只要将Dll拷贝到system32目录下即可:          但若是在Web Project中则经常遇见,因为Web Project引用的 java.library.path  有两处(jre的bin目录和Tomcat的bin目录) 因…
有一行Java代码如下: String code1 = (String)qTable1.getValueAt(i, 0); 这是一个Java的图形界面获取表格中值的代码,其中qTable1.getValue(i, 0)是获取表格中i行0列的一个数据值,获取到的值是Short类型,但是我想让它变成我所需要的String类型,如果按照如上(String)强转的话,编译时不会报错,但是会造成运行时异常:java.lang.Short cannot be cast to java.lang.String…