新建一个叫 LDAPLoginBundle 的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.LDAPLoginServiceImpl;
import org.vwpolo.services.LoginService;
public class LDAPActivator implements BundleActivator ... {
private BundleContext context = null;
private LDAPLoginServiceImpl loginServiceImpl;
private ServiceRegistration serviceRegistration=null;
/**//*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception ...{
this.context = context;
loginServiceImpl = new LDAPLoginServiceImpl();
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;
}
}
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.LDAPLoginServiceImpl;
import org.vwpolo.services.LoginService;
public class LDAPActivator implements BundleActivator ... {
private BundleContext context = null;
private LDAPLoginServiceImpl loginServiceImpl;
private ServiceRegistration serviceRegistration=null;
/**//*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception ...{
this.context = context;
loginServiceImpl = new LDAPLoginServiceImpl();
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;
public class LDAPLoginServiceImpl implements LoginService... {
@Override
public boolean login(String userName, String password) ...{
System.out.println("LDAP 登陆方式");
if(userName.equals("vwpolo") && password.equals("123"))
return true;
return false;
}
}
import org.vwpolo.services.LoginService;
public class LDAPLoginServiceImpl implements LoginService... {
@Override
public boolean login(String userName, String password) ...{
System.out.println("LDAP 登陆方式");
if(userName.equals("vwpolo") && password.equals("123"))
return true;
return false;
}
}
MANIFEST.MF文件:
Manifest-Version: 1.0Bundle-ManifestVersion: 2
Bundle-Name: LDAPLoginBundle Plug-in
Bundle-SymbolicName: LDAPLoginBundle
Bundle-Version: 1.0.0
Bundle-Activator: org.vwpolo.login.service.LDAPActivator
Import-Package: org.osgi.framework;version="1.3.0",
org.vwpolo.services
Eclipse-LazyStart: true