Koalaビジネスログシステム手動統合
5640 ワード
4手動統合
1.依存の追加
アプリケーション層ビジネスログインタフェースモジュール依存性の追加
org.openkoala.businesslog
koala-businesslog-api
4.0.0
Webレイヤビジネスログの追加モジュール依存性
org.openkoala.businesslog
koala-businesslog-impl
4.0.0
2.LogFilterクラスの作成
例えばcom.xiaokaceng.demo.web.controller.businesslog.LogFilter.java
注:現在のユーザーは、システム実装に基づいて取得する必要があります.
3.DefaultBusinessLogControllerクラスの作成
4.webを構成する.xml
5.クラスパスの下にkoala-businesslogを作成する.properties
pointcut=execution(* org.openkoala.example.application.impl.*.*(..)) #ログスイッチkaola.businesslog.enable=true#ログエクスポータbusinessLogExporter=org.openkoala.businesslog.utils.BusinessLogExporterImpl#データベース設定log.db.jdbc.driver=${db.jdbcDriver} log.db.jdbc.connection.url=${db.connectionURL} log.db.jdbc.username=${db.username} log.db.jdbc.password=${db.password} log.db.jdbc.dialect=${hibernate.dialect} log.hibernate.hbm2ddl.auto=${hibernate.hbm2ddl.auto} log.hibernate.show_sql=${hibernate.show_sql} log.db.Type=${db.Type} db.generateDdl=${generateDdl} log.maximumConnectionCount=3000 log.minimumConnectionCount=100#スレッドプール構成#コアスレッド数log.threadPool.corePoolSize=100#最大スレッド数log.threadPool.maxPoolSize=3000#キュー最大長log.threadPool.queueCapacity=2000#スレッドプールはスレッドが許容するアイドル時間logを維持する.threadPool.keepAliveSeconds=300#スレッドプールは、タスク(スレッドなしで使用可能)を拒否する処理ポリシーlog.threadPool.rejectedExecutionHandler=java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy
6.スキャンパッケージパスの追加
persistence-context.xmlのpackagesToScanノードの追加:
org.openkoala.businesslog.model
7.Spring構成の導入
db-context.xml追加構成:
root.xml追加構成:
8.残りの統合はチュートリアルを参照してください
説明:以降、プラグインは手動で を統合する必要がなく、ワンタッチ統合機能を提供します.サードパーティのプロジェクト統合は複雑で、より多くの技術制約がある
1.依存の追加
アプリケーション層ビジネスログインタフェースモジュール依存性の追加
Webレイヤビジネスログの追加モジュール依存性
2.LogFilterクラスの作成
例えばcom.xiaokaceng.demo.web.controller.businesslog.LogFilter.java
package com.xiaokaceng.demo.web.controller.businesslog;
import org.openkoala.businesslog.utils.BusinessLogServletFilter;
import javax.servlet.*;
public class LogFilter extends BusinessLogServletFilter {
/**
*
* @param req
* @param resp
* @param chain
*/
@Override
public void beforeFilter(ServletRequest req, ServletResponse resp, FilterChain chain) {
addIpContext(getIp(req));
// TODO
addUserContext("xxx");
}
public void init(FilterConfig filterConfig) throws ServletException {
//To change body of implemented methods use File | Settings | File Templates.
}
public void destroy() {
//To change body of implemented methods use File | Settings | File Templates.
}
}
注:現在のユーザーは、システム実装に基づいて取得する必要があります.
3.DefaultBusinessLogControllerクラスの作成
package com.xiaokaceng.demo.web.controller.businesslog; import java.util.HashMap;
import java.util.Map;
import org.dayatang.domain.InstanceFactory;
import org.dayatang.utils.Page;
import org.openkoala.businesslog.application.BusinessLogApplication;
import org.openkoala.businesslog.model.DefaultBusinessLogDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/log")
public class DefaultBusinessLogController {
private BusinessLogApplication businessLogApplication;
@ResponseBody
@RequestMapping("/list")
public Page pageJson(DefaultBusinessLogDTO defaultBusinessLogDTO,
@RequestParam int page, @RequestParam int pagesize) {
Page<DefaultBusinessLogDTO> all = getBusinessLogApplication()
.pageQueryDefaultBusinessLog(defaultBusinessLogDTO, page,
pagesize);
return all;
}
@ResponseBody
@RequestMapping("/delete")
public Map<String, Object> delete(@RequestParam String ids) {
Map<String, Object> result = new HashMap<String, Object>();
String[] value = ids.split(",");
Long[] idArrs = new Long[value.length];
for (int i = 0; i < value.length; i++) {
idArrs[i] = Long.parseLong(value[i]);
}
getBusinessLogApplication().removeDefaultBusinessLogs(idArrs);
result.put("result", "success");
return result;
}
@ResponseBody
@RequestMapping("/get/{id}")
public Map<String, Object> get(@PathVariable Long id) {
Map<String, Object> result = new HashMap<String, Object>();
result.put("data", getBusinessLogApplication()
.getDefaultBusinessLog(id));
return result;
}
public BusinessLogApplication getBusinessLogApplication() {
if (null == businessLogApplication) {
businessLogApplication = InstanceFactory
.getInstance(BusinessLogApplication.class);
}
return businessLogApplication;
}
}
4.webを構成する.xml
<filter>
<filter-name>LogFilter</filter-name>
<filter-class>com.xiaokaceng.demo.web.controller.businesslog.LogFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LogFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5.クラスパスの下にkoala-businesslogを作成する.properties
pointcut=execution(* org.openkoala.example.application.impl.*.*(..)) #ログスイッチkaola.businesslog.enable=true#ログエクスポータbusinessLogExporter=org.openkoala.businesslog.utils.BusinessLogExporterImpl#データベース設定log.db.jdbc.driver=${db.jdbcDriver} log.db.jdbc.connection.url=${db.connectionURL} log.db.jdbc.username=${db.username} log.db.jdbc.password=${db.password} log.db.jdbc.dialect=${hibernate.dialect} log.hibernate.hbm2ddl.auto=${hibernate.hbm2ddl.auto} log.hibernate.show_sql=${hibernate.show_sql} log.db.Type=${db.Type} db.generateDdl=${generateDdl} log.maximumConnectionCount=3000 log.minimumConnectionCount=100#スレッドプール構成#コアスレッド数log.threadPool.corePoolSize=100#最大スレッド数log.threadPool.maxPoolSize=3000#キュー最大長log.threadPool.queueCapacity=2000#スレッドプールはスレッドが許容するアイドル時間logを維持する.threadPool.keepAliveSeconds=300#スレッドプールは、タスク(スレッドなしで使用可能)を拒否する処理ポリシーlog.threadPool.rejectedExecutionHandler=java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy
6.スキャンパッケージパスの追加
persistence-context.xmlのpackagesToScanノードの追加:
7.Spring構成の導入
db-context.xml追加構成:
root.xml追加構成:
8.残りの統合はチュートリアルを参照してください
説明: