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;
}