使用 Felix 和 Struts2 开发 Web 应用
2010-07-13 00:00:00 来源:WEB开发网开发获取本地时间消息实现服务 bundle
获取本地时间消息服务 bundle 实现了时间消息接口服务。在该 bundle 种返回的时间消息是当前时区的时间信息。因为用到了接口服务包,所以需要在 Import-Package 中加入接口服务包。
清单 3. 获取本地时间实现代码
package com.example.time.local.service;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import com.example.time.service.TimeService;
public class LocalTimeService implements TimeService{
@Override
public String getTime(){
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return "The local time:" + formatter.format(date);
}
}
OSGi bundle 中的服务要能够被其他 bundle 使用,使用将服务发布出来。在该 bundle 的 Activator 的 start() 方法中注册该服务,可以发布这个服务。当这个 bundle 启动时,将获取本地时间发布为一个服务。服务发布的代码如清单 4 所示。
清单 4. 服务发布
public void start(BundleContext context) throws Exception{
context.registerService(TimeService.class.getName(), new LocalTimeService(), null);
}
开发获取 UTC 时间消息实现服务 bundle
获取 UTC 时间消息实现服务同样实现了时间消息接口服务,该 bundle 主要是用于和上一个 bundle 即获取本地时间消息服务进行动态的替换,用于表现 OSGi 的动态部署的能力。
更多精彩
赞助商链接