【第一代服务注册形式】 - 将一个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命令查看被注册的服务:

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命令查看被注册的服务:

猜你喜欢

转载自marsvaadin.iteye.com/blog/1678288