﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Mitool-随笔分类-OSGi</title><link>http://www.blogjava.net/Mitool/category/47034.html</link><description>import net.blogjava.mitool.*;</description><language>zh-cn</language><lastBuildDate>Sun, 14 Nov 2010 05:32:34 GMT</lastBuildDate><pubDate>Sun, 14 Nov 2010 05:32:34 GMT</pubDate><ttl>60</ttl><item><title>Dictionary OSGi Service模板Custom端使用</title><link>http://www.blogjava.net/Mitool/archive/2010/11/14/338023.html</link><dc:creator>Mitool</dc:creator><author>Mitool</author><pubDate>Sun, 14 Nov 2010 05:02:00 GMT</pubDate><guid>http://www.blogjava.net/Mitool/archive/2010/11/14/338023.html</guid><wfw:comment>http://www.blogjava.net/Mitool/comments/338023.html</wfw:comment><comments>http://www.blogjava.net/Mitool/archive/2010/11/14/338023.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Mitool/comments/commentRss/338023.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Mitool/services/trackbacks/338023.html</trackback:ping><description><![CDATA[Eclispe 插件工程中提供了Dictionary OSGi Service 模板，写了一下Custom端使用的代码。<br />
<br />
<strong>1. Dictionary OSGi Service 模板</strong><br />
按照Eclipse向导生成。注意Export相应包。<br />
<br />
<strong>2. Custom 端使用</strong><br />
新建插件工程，Import字典服务Exprot的包。<br />
<br />
代码片段：<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;"><span style="font-family: Arial;"><span style="font-family: Arial;"><span style="font-family: Impact;"><span style="color: #0000ff;"><span style="font-family: Georgia;"><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;demo.dictionary.custom;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.osgi.framework.BundleActivator;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.osgi.framework.BundleContext;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.osgi.framework.ServiceReference;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;demo.dictionary.DictionaryService;<br />
<br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Activator&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;BundleActivator&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;ServiceReference&nbsp;serviceReference&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;start(BundleContext&nbsp;context)&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;Exception&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serviceReference&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;context.getServiceReference(DictionaryService.</span><span style="color: #0000ff;">class</span><span style="color: #000000;">.getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;serviceReference){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DictionaryService&nbsp;dictionaryService&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(DictionaryService)context.getService(serviceReference);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></span></span></span></span><br />
<span style="color: #0000ff;"><span style="font-family: Arial;"><span style="font-family: Arial;"><span style="font-family: Impact;"><span style="color: #0000ff;"><span style="font-family: Georgia;"><span style="color: #000000;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">check&nbsp;word:</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dictionaryService.check(</span><span style="color: #000000;">"</span><span style="color: #000000;">word</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">check&nbsp;osgi:</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dictionaryService.check(</span><span style="color: #000000;">"</span><span style="color: #000000;">osgi</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">check&nbsp;equinox:</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dictionaryService.check(</span><span style="color: #000000;">"</span><span style="color: #000000;">equinox</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">check&nbsp;eclipse:</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;dictionaryService.check(</span><span style="color: #000000;">"</span><span style="color: #000000;">eclipse</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;stop(BundleContext&nbsp;context)&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;Exception&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serviceReference&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></span></span></span></span></span></span></div>
<br />
<br />
<strong>3. Custom 端使用</strong><br />
如果没输出显示，可在console中 update custom 插件。<br />
<br />
结果：<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/mitool/2010-11-14_130859.jpg" height="347" width="605" /><br />
<br />
<p>
<strong>4.工程文件下载</strong><br />
<a href="/Files/Mitool/demo.dictionary.custom.rar">demo.dictionary.custom.rar</a><br />
<br />
</p>
<img src ="http://www.blogjava.net/Mitool/aggbug/338023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Mitool/" target="_blank">Mitool</a> 2010-11-14 13:02 <a href="http://www.blogjava.net/Mitool/archive/2010/11/14/338023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>