Java 关于构建公共模块的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
kikione
V2EX    Java

Java 关于构建公共模块的问题

  •  
  •   kikione Oct 9, 2021 2389 views
    This topic created in 1664 days ago, the information mentioned may be changed or developed.

    1,有两个业务模块 A 和 B 2,A 和 B 的 contronller 都需要记录日志去数据库 3,我想在 公共模块 C 用 AOP 去做。

    C 公共模块是不是需要连接数据库,配置一些信息。但是一般公共模块我看不配置的

    11 replies    2021-10-09 18:02:49 +08:00
    JYii
        1
    JYii  
       Oct 9, 2021
    我缓缓打出一个?
    chendy
        2
    chendy  
       Oct 9, 2021
    C 模块自己不连数据库,用业务模块的数据库连接,或者数据源,或者其他什么东西注入给自己
    kikione
        3
    kikione  
    OP
       Oct 9, 2021
    @JYii 这块我不太清楚 所有提问的有点问题
    Edsie
        4
    Edsie  
       Oct 9, 2021
    C 模块注入数据库服务就行了吧
    Saurichthys
        5
    Saurichthys  
       Oct 9, 2021
    可以考虑 c 模块只是提供保存日志方法,给 A 和 B 进行调用,至于数据链接信息就在 A 和 B 的 web 项目初始化就行了呀
    fkdog
        6
    fkdog  
       Oct 9, 2021
    这种需求建议和业务代码解耦开来。
    1. 将日志写入 mq,mq 另一端写入数据库.
    2. 将日志写入磁盘文件,使用 filebeat 等工具进行采集
    3. 将日志写入做成一个 rpc 服务,分别给 A 和 B 去调用。
    wolfie
        7
    wolfie  
       Oct 9, 2021
    程序日志 logback 、log4j 那种直接生成日志文件。
    请求日志在网关拿。
    具体什么业务要在 AOP 记录
    JYii
        8
    JYii  
       Oct 9, 2021
    @kikione 日志模块 aop 写好逻辑,别的模块引入调用就完事了啊,是缺少 db 的依赖做不了一些事情吗
    Saxton
        9
    Saxton  
       Oct 9, 2021
    @fkdog 说的没错 业务逻辑的日志 可以用 MQ 储存到数据库 异步落地, 所有的模块只管推到 MQ, 普通的输出日志可以按照 @wolfie 说的生成文件, 要区分业务日志和输出日志,我们的系统就是这样的
    Saxton
        10
    Saxton  
       Oct 9, 2021
    @JYii 分布式吗,我感觉你的理解有一定偏差,你完全可以单独跑一个独立的日志服务,其他服务只管推送到 MQ,
    同时其他服务可以采用 AOP 的方式推入到 MQ,这样子就从逻辑层上解耦出来了
    kikione
        11
    kikione  
    OP
       Oct 9, 2021
    @JYii 明白了,我以为缺了 DB 做不了
    About     Help     Advertise     Blog     API     FAQ     Solana     2659 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 12:45 PVG 20:45 LAX 05:45 JFK 08:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86