。代码查找 EJB home 并且获得远程接口。接下来调用该方法并且用结果值填充结果标签。(要记住,最好将 EJB 调用隐藏在业务委派之后而不是在插件代码中直接调用。对本文来说,我们简化了代码。通常不推荐从 view 中直接调用 EJB。)
清单 2.
public void handleEvent(Event event)
{
try
{
InitialContext ctx = new InitialContext();
String jndi = RcpMessages.getString("TemperatureView.JNDIName");
Object obj = ctx.lookup(jndi);
TempConverterHome homeRef = (TempConverterHome) PortableRemoteObject
.narrow(obj, TempConverterHome.class);
TempConverter serviceRef = homeRef.create();
retVal = serviceRef.celciusToFarenheight(Integer.parseInt(textBox.getText()));
System.out.println("TemperatureAction.testEJB EJB Successful
Return=" + + retVal);
result.setText(textBox.getText() + " degrees Celsius is
approximately " +
Integer.toString(retVal) + " degrees Fahrenheit!");
} catch (Exception th)
{
System.out.println("TemperatureAction.testEJB EJB call ex="
+ th);
th.printStackTrace();
result.setText(th.getClass().getName() + ": " +
th.getMessage());
}
}
也许您已经注意到了属性文件是用于避免 EJB JNDI 名称的硬编码以及应用程序服务器的定位。当部署 RCP 应用程序时,您可以将属性文件改变为针对实际的远程 EJB 定位。
清单 3
TemperatureView.JNDIName=ejb/TempConverter
TemperatureView.Title=Celsius to Fahrenheit Temperature Converter
TemperatureView.Button=Convert to Fahrenheit
当构建插件时,您通常需要将插件添加到您的 plug-in.xml文件并且选择扩展点(在该情况下,您扩展了 View 插件)。对于我们来说这是额外的,因为我们在向导中使用 View 模板。您可以在 Extensions 选项卡中查看或者您可以浏览 plug-in.xml 资源。扩展配置如清单 4 所示。
清单 4
<extension
point="org.eclipse.ui.views">
<category
name="Temperature Category"
id="com.ibm.issw.temperature.form">
</category>
<view
name="Temperature View"
icon="icons/sample.gif"
category="com.ibm.issw.temperature.form"
class="com.ibm.issw.temperature.form.views.TemperatureView"
id="com.ibm.issw.temperature.form.views.TemperatureView">
</view>
</extension>
使用Eclipse富客户端平台和RAD V6创建EJB客户端(二)(5)
时间:2011-03-13 IBM Roland Barcia
创建您自己的 RCP 工作台和透视图
因为我们正在开发 RCP 应用程序,使用缺省的 Eclipse 工作台,工作台是按照 IDE 定制的,不是很理想的。因此,我们将会构建我们自己的工作台以及透视图。我们将会导入类,下载文件提供了这些类,导入到我们的插件中,接下来向工作台以及透视图的 plug-in.xml 中添加条目。
右键单击 src 文件夹然后选择 Import (图 45)。
图 45. 导入类
选择 File system 然后选择 Next。浏览 C:\RCPEJBClient\RCPCode\src 文件夹并且导入三个类,如图 46 所示。
图 46. 导入类
使用Eclipse富客户端平台和RAD V |