草庐IT

System.IO.FileSystemWatcher的坑

System.IO命名空间下面有一个FileSystemWatcher,这个东西可以实现文件变动的提醒。需要监控文件夹变化(比如FTP服务器)的情形非常适用。需要监控文件新建时,我们可以这么写:_fileSystemWatcher.Path=path;_fileSystemWatcher.IncludeSubdirectories=true;_fileSystemWatcher.Created+=_fileSystemWatcher_Created;_fileSystemWatcher.EnableRaisingEvents=true;protectedasyncvoid_fileSystem

System.IO.FileSystemWatcher的坑

System.IO命名空间下面有一个FileSystemWatcher,这个东西可以实现文件变动的提醒。需要监控文件夹变化(比如FTP服务器)的情形非常适用。需要监控文件新建时,我们可以这么写:_fileSystemWatcher.Path=path;_fileSystemWatcher.IncludeSubdirectories=true;_fileSystemWatcher.Created+=_fileSystemWatcher_Created;_fileSystemWatcher.EnableRaisingEvents=true;protectedasyncvoid_fileSystem

@Async注解的坑,小心

大家好,我是三友。背景前段时间,一个同事小姐姐跟我说她的项目起不来了,让我帮忙看一下,本着助人为乐的精神,这个忙肯定要去帮。于是,我在她的控制台发现了如下的异常信息:Exceptioninthread"main"org.springframework.beans.factory.BeanCurrentlyInCreationException:Errorcreatingbeanwithname'AService':Beanwithname'AService'hasbeeninjectedintootherbeans[BService]initsrawversionaspartofacircul

@Async注解的坑,小心

大家好,我是三友。背景前段时间,一个同事小姐姐跟我说她的项目起不来了,让我帮忙看一下,本着助人为乐的精神,这个忙肯定要去帮。于是,我在她的控制台发现了如下的异常信息:Exceptioninthread"main"org.springframework.beans.factory.BeanCurrentlyInCreationException:Errorcreatingbeanwithname'AService':Beanwithname'AService'hasbeeninjectedintootherbeans[BService]initsrawversionaspartofacircul

记一次EF+Mysql所遇到的事务不生效的的坑

业务场景:近期写的一个项目,整个项目采用的DDD(领域驱动)设计,所以刚开始设计的时候就将各个业务以聚合根的方式进行划分,以该业务场景为例,整体的业务简述为,当客户进行付款以后,创建一个付款单,然后由财务手动将付款单与发货单进行账务冲抵和关联,同时还需要针对付款的客户及企业的余额进行相应的变动,所以,当付款单和发货单进行冲抵业务的时候,客户及其企业的待付款金额将会根据冲抵的金额,进行变动,所以该业务的主要操作是首先针对发货单的待付款金额进行冲抵扣减,此时操作的聚合根为发货单的聚合根,而因为还需要同时针对用户的账户金额进行变动,所以在操作发货单的聚合根的时候,触发一个领域事件,而用户的聚合根订阅

记一次EF+Mysql所遇到的事务不生效的的坑

业务场景:近期写的一个项目,整个项目采用的DDD(领域驱动)设计,所以刚开始设计的时候就将各个业务以聚合根的方式进行划分,以该业务场景为例,整体的业务简述为,当客户进行付款以后,创建一个付款单,然后由财务手动将付款单与发货单进行账务冲抵和关联,同时还需要针对付款的客户及企业的余额进行相应的变动,所以,当付款单和发货单进行冲抵业务的时候,客户及其企业的待付款金额将会根据冲抵的金额,进行变动,所以该业务的主要操作是首先针对发货单的待付款金额进行冲抵扣减,此时操作的聚合根为发货单的聚合根,而因为还需要同时针对用户的账户金额进行变动,所以在操作发货单的聚合根的时候,触发一个领域事件,而用户的聚合根订阅

Java开发中要避免的坑和一些代码优化技巧

1:动态SQL遇到的坑,先看下面OGNL表达式的说明。Anyobjectcanbeusedwhereabooleanisrequired.OGNLinterpretsobjectsasbooleanslikethis:IftheobjectisaBoolean,itsvalueisextractedandreturned;IftheobjectisaNumber,itsdouble-precisionfloating-pointvalueiscomparedwithzero;non-zeroistreatedastrue,zeroasfalse;IftheobjectisaCharacter,

Java开发中要避免的坑和一些代码优化技巧

1:动态SQL遇到的坑,先看下面OGNL表达式的说明。Anyobjectcanbeusedwhereabooleanisrequired.OGNLinterpretsobjectsasbooleanslikethis:IftheobjectisaBoolean,itsvalueisextractedandreturned;IftheobjectisaNumber,itsdouble-precisionfloating-pointvalueiscomparedwithzero;non-zeroistreatedastrue,zeroasfalse;IftheobjectisaCharacter,

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在测试环境拼装这条SQL,刚过了几分钟,同事已经自信的写好了这条SQL,于是拿给DBA,到线上跑一下,用客户端工具导出Excel就好了,毕竟是临时方案嘛。就在SQL执行了之后,意外发生了,先是等了一下,发现还没执行成功,猜测可能是数据量大的原因,但是随着时间滴滴答答流逝,逐渐意识到情

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。本来是一个平静而美好的下午,其他部门的同事要一份数据报表临时汇报使用,因为系统目前没有这个维度的功能,所以需要写个SQL马上出一下,一个同事接到这个任务,于是开始在测试环境拼装这条SQL,刚过了几分钟,同事已经自信的写好了这条SQL,于是拿给DBA,到线上跑一下,用客户端工具导出Excel就好了,毕竟是临时方案嘛。就在SQL执行了之后,意外发生了,先是等了一下,发现还没执行成功,猜测可能是数据量大的原因,但是随着时间滴滴答答流逝,逐渐意识到情