我也來玩OSGI(四)

新建一個叫 ConfigFileLoginBundle 的Equinox 項目

 

 

文件結構如圖所示,我們要在 META-INF/MANIFEST.MF 中的 依賴 選項卡中選擇導入 org.vwpolo.services 這個包

package org.vwpolo.login.service;

import
 java.util.Hashtable;

import
 org.osgi.framework.BundleActivator;
import
 org.osgi.framework.BundleContext;
import
 org.osgi.framework.ServiceRegistration;
import
 org.vwpolo.login.service.impl.ConfigFileLoginServiceImpl;
import
 org.vwpolo.services.LoginService;

public class ConfigFileActivator implements BundleActivator 
{

    
private BundleContext context = null
;
    
private ServiceRegistration serviceRegistration = null
;
    
private
 LoginService loginServiceImpl;

    
/*
     * (non-Javadoc)
     * 
     * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
     
*/

    
public void start(BundleContext context) throws Exception {
        
this.context =
 context;
        loginServiceImpl 
= new
 ConfigFileLoginServiceImpl();
        serviceRegistration 
= this.context.registerService(LoginService.class.getName(), loginServiceImpl, new
 Hashtable());
    }


    
/*
     * (non-Javadoc)
     * 
     * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
     
*/

    
public void stop(BundleContext context) throws Exception {
        serviceRegistration.unregister();
        context 
= null
;
    }


}

 

package org.vwpolo.login.service.impl;

import
 org.vwpolo.services.LoginService;

/**
 * 
@author vwpolo
 *
 
*/

public class ConfigFileLoginServiceImpl implements LoginService{

    @Override
    
public boolean login(String userName, String password) 
{
        System.out.println(
"ConfigFile 登陸方式"
);
        
if(userName.equals("vwpolo"&& password.equals("123"
))
            
return true
;
        
return false
;
    }


}

 MANIFEST.MF文件內容:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ConfigFileLoginBundle Plug-in
Bundle-SymbolicName: ConfigFileLoginBundle
Bundle-Version: 1.0.0
Bundle-Activator: org.vwpolo.login.service.ConfigFileActivator
Import-Package: org.osgi.framework;version="1.3.0",
 org.vwpolo.services
Eclipse-LazyStart: true

MANIFEST.MF

發佈了31 篇原創文章 · 獲贊 2 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章