Java
Dreamcatcher_yxc
这个作者很懒,什么都没留下…
展开
-
Spring Boot 在 @Configuration 中注入 @Service(需要被代理的 Component )导致 @Service 事务不可用的解决方案
1、背景Spring Boot 项目中,我们有时候希望在 Interceptor 中注入的 @Service 组件,例如本人在后管项目中使用 Spring MVC Interceptor 做权限控制,此时 Interceptor 中需要使用 Service 中的方法读取用户权限信息,再配合 Controller 上的注解做权限控制,大体的配置步骤如下:AuthInterceptor 继承...原创 2020-04-14 21:22:27 · 5557 阅读 · 4 评论 -
(09) Apache Felix 入门 - 09
1、Spell Checker Client Bundle此例子和 Example6 很类似,不一样的是我们在这里使用了 SpellChecker 服务检测用户输入句子中的错误单词,并且使用 ServiceTracker 获取 SpellChecker 服务,具体代码如下:/* * Apache Felix OSGi tutorial.**/package tutorial.ex...翻译 2018-09-09 10:05:39 · 468 阅读 · 0 评论 -
(04) Apache Felix 入门 - 03 - 01
1、Dictionary Service 的另外一个实现下面的例子中我们编写了 DictionaryService 的另外一个实现,它可以检测输入的法语是否正确,但是如果仅仅是处于这个目的,则这个例子并没有什么实际的简直,我们真正的目的是向读者说明,OSGI 是允许一个服务的多个实现同时存在的,这个例子会在我们后面的 example5 中被使用到,具体实现和 example2 很相似,如下:...翻译 2018-08-24 17:08:32 · 517 阅读 · 0 评论 -
(08) Apache Felix 入门 - 08
1、输入检测服务 Bundle在下面的例子中,我们定义了一个名称为 SpellChecker 的服务,该服务将使用我们注册的所有字典服务来检测用户输入的单词是否正确,而且 SpellChecker 只有在至少有一个字典服务是有效的时候才能被使用,下面是 SpellChecker 接口的定义: /* * Apache Felix OSGi tutorial. **/...翻译 2019-07-14 07:55:00 · 282 阅读 · 0 评论 -
(03) Apache Felix 入门 - 03
1、Dictionary Service Bundle在下面的例子中,我们将会创建一个 OSGI 服务,OSGI 服务的创建需要分两个步骤完成:第一步:创建文件一个接口。第二步:提供该接口的实现。下面的例子中,我们创建一个名叫 DictionaryService 的服务,其功能是检查一个单词是否拼写正确,下面是该服务的定义:/* * Apache Felix OSGi tu...翻译 2018-08-24 12:17:03 · 1003 阅读 · 0 评论 -
(02) Apache Felix 入门 - 02
1、说明本文主要介绍如何创建一个最简单的 bundle?如何在 bundle 中监控服务的状态变化?如何配置 MANIFEST.MF 文件?如何编译、安装、运行我们打包好的 bundle,这并不一定需要是第一个例子,但是可以很好的帮助我们理解如何使用最简单的方式构建一个 bundle。这个例子会详细的说明如何构建一个最简单的 bundle?如何编写相应的 manifest.mf 信息?如何...翻译 2018-08-24 12:16:48 · 1161 阅读 · 0 评论 -
(07) Apache Felix 入门 - 07
1、Service Tracker Dictionary ServiceExample4 已经能够应对服务的动态可用性问题,但是其处理过于复杂,于是 OSGI 规范提出了 Service Tracker 的概念以解决 Example4 中出现的问题,Service Tacker 翻译过来的意思就是“服务追踪者”的信息,其作用类似于 Java 中的 TCP 服务器,当服务端开始监听接口的时候,则...翻译 2018-08-26 17:04:18 · 1021 阅读 · 0 评论 -
(06) Apache Felix 入门 - 06
1、完整的 Dictionary Client Bundle本文中的客户端,对于例3中的例子进行了优化,使得代码拥有能够处理服务动态变化的问题,而且当此 bundle 在多线程环境下操作也是安全的,具体例子如下:/* * Apache Felix OSGi tutorial.**/package tutorial.example4;import java.io.Buffere...翻译 2018-08-26 14:17:20 · 482 阅读 · 0 评论 -
(05) Apache Felix 入门 - 05
1、Dictionary Client Service在此例子中,我们在 Bundle 启动的使用使用 context 查询已经注册的字典服务列表,并且使用服务列表的第一个字典服务查询输入的单词是否正确,并且输出简单的匹配结果,当用户没有输入的时候,则会退出字典的查询。我们通过 Java 接口的方式使用OSGI 的服务,这也是我们经常提到的面向对象语言降低模块之间耦合度的一种方式:面向接口编程...翻译 2018-08-26 12:00:05 · 606 阅读 · 0 评论 -
(01) Apache Felix 入门 - 01
1、前言这篇文章是自己参照 Apache Felix 官网 参考指导手册上的学习步骤书写的篇目,算不上原创的内容,权当时自己写的一些学习笔记,当然其中内容也不是完全参照官网上说的来写,一些部分按照自己的理解做了些修改,更加便于自己理解,对于文中一些地方读者觉得不明白或者笔者理解错误的地方,欢迎各位读者指正,互相学习!2、适合读者 本文适合对于Java 一些高级特性比较了解,对于项目...翻译 2018-08-04 17:53:00 · 5656 阅读 · 1 评论