對于日志和事件的記錄在每個項目中都會用到,如果在每個manager層中觸發時間記錄的話,會比較難以擴展和維護,所以可配置的日志和事件記錄在項目中會用到!
首先在spring的配置文件中加入hibernate攔截器
- <bean<wbr>id=</wbr> "sessionFactory" <wbr></wbr> class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" > <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><property<wbr>name=</wbr></wbr></wbr></wbr></wbr> "entityInterceptor" > <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><ref<wbr>bean=</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "myInterceptor" /> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></property<span>><wbr><wbr></wbr></wbr></span> </wbr></wbr></wbr></wbr>
- </bean> <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <bean<wbr>id=</wbr> "myInterceptor" <wbr></wbr> class = "com.creawor.cbsms.util.MyInterceptor" <wbr>/><wbr><wbr></wbr></wbr></wbr>
<wbr>MyInterceptor攔截器為:</wbr>
- package <wbr>com.creawor.cbsms.util; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>java.io.Serializable; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>java.lang.reflect.InvocationTargetExceptio<wbr>n; <wbr><wbr></wbr></wbr></wbr></wbr>
- import <wbr>java.lang.reflect.Method; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>java.util.Iterator; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>javacommon.util.ApplicationContextHolder<wbr>; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>org.hibernate.CallbackException; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>org.hibernate.EntityMode; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>org.hibernate.Interceptor; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>org.hibernate.Transaction; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>org.hibernate.type.Type; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.event.EventRecord; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsChannel; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsMessage; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- public <wbr></wbr> class <wbr>MyInterceptor<wbr></wbr></wbr> implements <wbr>Interceptor{ <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr> //刪除時記錄時間 <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>onDelete(Object<wbr>obj,<wbr>Serializable<wbr>arg1,<wbr>Object[]<wbr>arg2,<wbr>String[]<wbr>arg3,<wbr>Type[]<wbr>arg4)<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> throws <wbr>CallbackException<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //<wbr>TODO<wbr>Auto-generated<wbr>method<wbr>stub</wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String[]<wbr>entitys<wbr>=<wbr>EventRecord.getDeleteEntitysFireEven<wbr>t(); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> for <wbr>(String<wbr>entityName<wbr>:<wbr>entitys)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> if <wbr>(entityName.equals(obj.getClass().getSimpleName()))<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>getEventRecordMethod(entityName,<wbr>obj,EventRecord.getDeleteInfo()); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //修改時記錄事件 <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> boolean <wbr>onFlushDirty(Object<wbr>obj,<wbr>Serializable<wbr>id,<wbr>Object[]<wbr>currentState,<wbr>Object[]<wbr>previousState<wbr>,<wbr>String[]<wbr>propertyNames,<wbr>Type[]<wbr>types){ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String[]<wbr>entitys<wbr>=<wbr>EventRecord.getUpdateEntitysFireEven<wbr>t(); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> for <wbr>(String<wbr>entityName<wbr>:<wbr>entitys)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> if <wbr>(entityName.equals(obj.getClass().getSimpleName()))<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>getEventRecordMethod(entityName,<wbr>obj,<wbr>EventRecord.getUpdateInfo()); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr></wbr> false ; <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr>String<wbr>onPrepareStatement(String<wbr>arg0)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //<wbr>TODO<wbr>Auto-generated<wbr>method<wbr>stub</wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>arg0; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //保存時記錄事件 <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> boolean <wbr>onSave(Object<wbr>obj,<wbr>Serializable<wbr>arg1,<wbr>Object[]<wbr>arg2,<wbr>String[]<wbr>arg3,<wbr>Type[]<wbr>arg4)<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> throws <wbr>CallbackException<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //<wbr>TODO<wbr>Auto-generated<wbr>method<wbr>stub</wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>String[]<wbr>entitys<wbr>=<wbr>EventRecord.getSaveEntitysFireEvent(); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> for <wbr>(String<wbr>entityName<wbr>:<wbr>entitys)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> if <wbr>(entityName.equals(obj.getClass().getSimpleName()))<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>getEventRecordMethod(entityName,<wbr>obj,EventRecord.getSaveInfo()); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr></wbr> false ; <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //根據反射機制執行事件記錄類中相應的函數 <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>getEventRecordMethod(String<wbr>entityName,Object<wbr>obj,String<wbr>info){ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> try <wbr>{ <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Class[]<wbr>parameterTypes<wbr>=<wbr>{String.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> class ,Class.forName(EventRecord.getPrefixPackageName()+entityName)}; <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Method<wbr>method<wbr>=<wbr>EventRecord.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> class .getMethod(EventRecord.getPrefixMethodName()+entityName,<wbr>parameterTypes); <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Object[]<wbr>objs<wbr>=<wbr>{info,<wbr>Class.forName(EventRecord.getPrefixPackageName()+entityName).cast(obj)}; <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>method.invoke((EventRecord)ApplicationContextHolder<wbr>.getBean(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "eventRecord" ),objs); <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> catch <wbr>(Exception<wbr>e)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- //<wbr>TODO<wbr>Auto-generated<wbr>catch<wbr>block</wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>e.printStackTrace(); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- }<wbr><wbr></wbr></wbr>
<wbr>事件記錄類:</wbr>
- package <wbr>com.creawor.cbsms.event; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>java.sql.Timestamp; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>javacommon.util.ApplicationContextHolder<wbr>; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.dao.CbsEventDao; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsBsc; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsBscCells; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsChannel; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsEvent; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.model.CbsUserRegister; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.cbsms.service.CbsEventManager; <wbr><wbr></wbr></wbr></wbr>
- import <wbr>com.creawor.security.model.PermUser; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- public <wbr></wbr> class <wbr>EventRecord<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> //<wbr>保存時要記錄事件的對象</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String[]<wbr>saveEntitysFireEvent<wbr>=<wbr>{<wbr></wbr></wbr></wbr></wbr></wbr> "CbsBscCells" , <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsChannel" ,<wbr><wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsBsc" <wbr>}; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>刪除時要記錄事件的對象</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String[]<wbr>deleteEntitysFireEvent<wbr>=<wbr>{<wbr></wbr></wbr></wbr></wbr></wbr> "CbsBscCells" , <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsChannel" , <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsBsc" <wbr>}; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>更新時要記錄事件的對象</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String[]<wbr>updateEntitysFireEvent<wbr>=<wbr>{<wbr></wbr></wbr></wbr></wbr></wbr> "CbsBscCells" , <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsChannel" ,<wbr><wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "CbsBsc" <wbr>}; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>包的前綴,反射得到類時使用</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String<wbr>prefixPackageName<wbr>=<wbr></wbr></wbr></wbr></wbr> "com.creawor.cbsms.model." ; <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>記錄該次操作的登錄用戶名:EventRecord為session范圍</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr>String<wbr>userName; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>調用函數的前綴,反射執行函數時使用</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String<wbr>prefixMethodName<wbr>=<wbr></wbr></wbr></wbr></wbr> "recordFor" ; <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>執行save時,事件描述</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String<wbr>saveInfo<wbr>=<wbr></wbr></wbr></wbr></wbr> "創建" ; <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>執行delete時,事件描述</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String<wbr>deleteInfo<wbr>=<wbr></wbr></wbr></wbr></wbr> "刪除" ; <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>執行update時,事件描述</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr></wbr> static <wbr>String<wbr>updateInfo<wbr>=<wbr></wbr></wbr></wbr></wbr> "修改" ; <wbr><wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> private <wbr>CbsEventManager<wbr>cbsEventManager; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> //<wbr>spring自動注入</wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>setCbsEventManager(CbsEventManager<wbr>cbsEventManager)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> this .cbsEventManager<wbr>=<wbr>cbsEventManager; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>recordForCbsChannel(String<wbr>desc,<wbr>CbsChannel<wbr>channel)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>StringBuffer<wbr>eventDesc<wbr>=<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> new <wbr>StringBuffer(desc); <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>eventDesc.append(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "頻道" <wbr>+<wbr>channel.getChannelName()).append(</wbr></wbr> "[" ).append( <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>channel.getChannelNum()).append(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "]" ); <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>record(eventDesc.toString(),<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> null ); <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>recordForCbsBscCells(String<wbr>desc,<wbr>CbsBscCells<wbr>cell)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>StringBuffer<wbr>eventDesc<wbr>=<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> new <wbr>StringBuffer(desc); <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>eventDesc.append(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "小區" +cell.getCellName()).append( "[" ).append( <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cell.getCellId()).append(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "]" ); <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>record(eventDesc.toString(),<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> null ); <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>record(String<wbr>eventDesc,<wbr>String<wbr>eventOrigin)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>CbsEvent<wbr>event<wbr>=<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> new <wbr>CbsEvent(); <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>event.setEventDesc(userName<wbr>+<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> "<wbr><wbr><wbr>"</wbr></wbr></wbr> <wbr>+<wbr>eventDesc); <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>event.setEventOrigin(eventOrigin); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>event.setStartTime(</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> new <wbr>Timestamp(System.currentTimeMillis())); <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cbsEventManager.save(event); <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> void <wbr>setUserName(String<wbr>userName)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> this .userName<wbr>=<wbr>userName; <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String[]<wbr>getDeleteEntitysFireEven<wbr>t()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>deleteEntitysFireEvent; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String[]<wbr>getSaveEntitysFireEvent()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>saveEntitysFireEvent; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String[]<wbr>getUpdateEntitysFireEven<wbr>t()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>updateEntitysFireEvent; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String<wbr>getPrefixPackageName()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>prefixPackageName; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr></wbr> void <wbr>setPrefixPackageName(String<wbr>prefixPackageName)<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>EventRecord.prefixPackageName<wbr>=<wbr>prefixPackageName; <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String<wbr>getPrefixMethodName()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>prefixMethodName; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String<wbr>getDeleteInfo()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>deleteInfo; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String<wbr>getSaveInfo()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>saveInfo; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr> public <wbr></wbr> static <wbr>String<wbr>getUpdateInfo()<wbr>{ <wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> return <wbr>updateInfo; <wbr><wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr>} <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- }<wbr><wbr></wbr></wbr>
<wbr>其中EventRecord 在spring中的配置為:</wbr>
- <bean<wbr>id=</wbr> "eventRecord" <wbr></wbr> class = "com.creawor.cbsms.event.EventRecord" <wbr><wbr>scope=</wbr></wbr> "session" <wbr>autowire=</wbr> "byName" /><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>EventRecord 為session范圍可以使字段userName記錄每次登錄人員的姓名</wbr>
具體在每次登錄后從spring容器中得到EventRecord然后set其userName即可!
最后一步要想讓session范圍生效還要在web.xml中添加配置:
- <web-app> <wbr><wbr></wbr></wbr>
- <wbr><wbr>... <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><listener> <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><listener-</wbr></wbr></wbr></wbr> class >org.springframework.web.context.request.RequestContextListener</listener- class > <wbr><wbr></wbr></wbr>
- <wbr><wbr></listener> <wbr><wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr>... <wbr><wbr></wbr></wbr></wbr></wbr>
- </web-app><wbr><wbr></wbr></wbr>
<wbr>這樣如果想要記錄一個業務bean增刪改的操作只需在EventRecord中設置saveEntitysFireEvent,deleteEntitysFireEvent,updateEntitysFireEvent屬性即可,同樣也可使用配置文件配置,這樣都可以使日志和事件的記錄變得很簡單!</wbr>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
