【第一代服务注册形式】 - 将一个Bundle注册为服务

2024-01-15 08:38

本文主要是介绍【第一代服务注册形式】 - 将一个Bundle注册为服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、创建业务接口类及其实现类

Java代码   收藏代码
  1. public   interface  Validator {  
  2.     public   boolean  validate(String username, String password) throws  Exception;  
  3. }  

 

Java代码   收藏代码
  1. public   class  UserValidatorImpl  implements  Validator {  
  2.     public   boolean  validate(String username, String password)  throws  Exception {  
  3.         if ( "admin" .equals(username) &&  "admin" .equals(password)){  
  4.             return   true ;  
  5.         }  
  6.         return   false ;  
  7.     }  
  8. }  

 

2、创建Bundle的激活器类

Java代码   收藏代码
  1. public   class  UserValidatorActivator  implements  BundleActivator {  
  2.     private  ServiceRegistration serviceRegistration;  
  3.       
  4.     public   void  start(BundleContext context)  throws  Exception {  
  5.         Validator obj = new  UserValidatorImpl();  
  6.         serviceRegistration = context.  
  7.             registerService(Validator.class .getName(), obj, props);  //注册服务   
  8.     }  
  9.   
  10.     public   void  stop(BundleContext context)  throws  Exception {  
  11.         serviceRegistration.unregister(); //卸载服务   
  12.     }  
  13. }  

 

3、MANIFEST.MF文件内容

Xml代码   收藏代码
  1. Manifest-Version: 1.0  
  2. Bundle-ManifestVersion: 2  
  3. Bundle-Name: UserValidatorBundle  
  4. Bundle-SymbolicName: UserValidatorBundle  
  5. Bundle-Version: 1.0.0  
  6. Bundle-Activator: com.cjm.bundle.user.activator.UserValidatorActivator  
  7. Bundle-Vendor: RIAWork  
  8. Import-Package: org.osgi.framework;version = "1.3.0"   
  9. Export-Package: com.cjm.bundle.user.service;version = "1.0.0"   

 

4、打包Bundle后,执行install命令安装Bundle,执行start命令启动Bundle

 

5、可以执行services命令查看被注册的服务:

这篇关于【第一代服务注册形式】 - 将一个Bundle注册为服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/608293

相关文章

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别