1.
13:00:47,601ERROR [com.tgb.itoo.authority.cache.SerializeUtils] (Thread-119) Failed todeserialize: java.lang.Exception: Failed to deserialize
atcom.tgb.itoo.authority.cache.SerializeUtils.deserialize(SerializeUtils.java:42)[itoo-shiro-utils-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
--shiro保存session,序列化 反序列化时报错
解决办法:主要出在shiro,找权限解决即可
2.
14:25:34,960ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-basic-place-web].[action]](http-/0.0.0.0:8080-4) JBWEB000236: Servlet.service() for servlet action threwexception: java.lang.NullPointerException
atcom.tgb.itoo.basic.eao.impl.RoomEaoImpl.queryPageEntityByRoom(RoomEaoImpl.java:72)[itoo-basic-place-core-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
--变量赋值为空值,没有经过判断就直接使用;这里在调用queryPageEntityByRoom的方法的时候,某个变量产生了这样的情况
解决办法:加强对变量的null值和字符串为空的判断
3.
Caused by:java.lang.ClassNotFoundException:com.tgb.itoo.exam.entity.ExamineeArrangement from [Module"org.apache.shiro:main" from local module loader @ba4d54 (finder:local module finder @bc6874 (roots:/usr/local/jboss6.2/modules,/usr/local/jboss6.2/modules/system/layers/base))]
atorg.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)[jboss-modules.jar:1.3.0.Final-redhat-2]
atorg.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)[jboss-modules.jar:1.3.0.Final-redhat-2]
--依赖的某个类或者说某个jar包,在运行加载的时候没有通过程序加载上,导致该异常
解决办法:清理maven仓库,对maven仓库进行更新即可
4.
09:12:52,873WARN [org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector](ServerService Thread Pool -- 54) Could notregister a EJB receiver for connection to 192.168.24.115:4447:java.lang.RuntimeException: java.net.ConnectException: Connection refused: nofurther information
--通过给出地址查找所需服务的时候,无法连接到jboss服务
原因:1.ip地址错误;2.端口错误 3.jboss未启动
解决方案:排查以上三个原因
5.
09:05:34,750ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/itoo-basic-place-web].[action]](http-/0.0.0.0:8080-5) JBWEB000236: Servlet.service() for servlet action threwexception: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling[appName:itoo-log-ear, moduleName:itoo-log-core-0.0.1-SNAPSHOT, distinctName:]combination for invocation contextorg.jboss.ejb.client.EJBClientInvocationContext@14154a3
--找到jboss服务器后,在服务器部署的服务中无法找到目标服务;此时可能是:
1.服务所在ear部署失败;(如果所有代码无错误,而且jinkens构建还能成功,部署报错,此时应清理工作空间,按照顺序重新构建)
2.远程连接地址填写错误
解决方案:
try … catch(打印到控制台,并向上抛出) … finally + 异常日志记录
需要考虑的问题:
我们的itoo项目,属于一个多层的j2ee项目,需要考录的问题有:
如何在一个多层的j2ee项目中定义相应的异常类?
在项目中的每一层如何进行异常处理?
异常何时被抛出?
异常何时被记录?
异常该怎么记录?
@Override
publicboolean deleteByIdsGeneric(String[] ids, String dataBaseName) {
booleanflag = false;
//获得当前操作的数据库名字
this.dataBaseName= dataBaseName;
//取得实体管理器
EntityManagerem = getEntityManager();
try {
// 验证数据的有效性
if (ids != null && ids.length> 0) {
for(String id : ids) {
//deleteEntityByIdGeneric(id,dataBaseName);
Stringhql = "update " + clazz.getSimpleName()
+" as o set o.isDelete = 1 where o.id =:id";
Queryquery = em.createQuery(hql);
//设置参数
query.setParameter("id",id);
//执行更新操作
query.executeUpdate();
flag= true;
}
if(logger.isDebugEnabled()) {
logger.debug("Eao执行逻辑删除成功!"+ getEntityManager().getClass().getName());
}
}
}catch (Exception e) {
flag= false;
System.out.print(e);
logger.error("Eao执行逻辑删除失败!",e);
}
returnflag;
}