IBM Support

IBM i上远程调试Liberty Web应用

Technical Blog Post


Abstract

IBM i上远程调试Liberty Web应用

Body

     2012 年 6月,IBM 正式发布了 WebSphere Application Server V8.5 版本(简称 WAS V8.5)。WebSphere Liberty Profile Server(简称 Liberty)在是 WAS V8.5 中最主要的新特性,它是一个基于 OSGi 内核,高模块化,高动态性的轻量级 WebSphere 应用服务器,其安装极为简单、启动非常快、占用很少的磁盘和内存空间,支持 Web、mobile 和 OSGi 应用的开发,一经推出就受到广大开发人员的青睐。
        Liberty 是一款全新的轻量级应用服务器,配合多种免费的开发工具,它将提供用户最良好的开发体验。Liberty 服务器同时支持多种主流的操作系统平台,包括 Windows、Linux、Unix、IBM i等。本文将主要介绍如何在IBM i上安装Liberty并远程调试部署在Liberty中的基于OSGi的Web应用。


先决条件
  在进行调试工作之前,首先保证以下软件及相关PTF安装完成。
  License Program
      5761-JV1 *BASE IBM Developer Kit for Java
      5761-JV1 Option 11 Java SE 6 32 bit
  PTFs
      Latest PTF Group for 5770DG1 (minimum SF99368 - level 14)
      Latest PTF Group for Java (minimum SF99572 - level 10)
  其他软件
      Distribution of Liberty V8.5

在IBM i上安装Liberty
Liberty是WAS V8.5中的一个Profile,如果安装了WAS V8.5,那么我们可以直接使用Liberty,否则首先需要先将Liberty Profile安装到IBM i上。
1,将Liberty Profile拷贝到IBM i的文件系统中,本文以/home/download为例。
2,在QSH中使用如下命令安装Liberty,按照提示执行直到安装完成。
      cd /home/download
      java –jar wlp-developers-8.5.0.0.jar图像


3,创建并配置部署Liberty实例
① 创建Liberty实例。使用下面的QSH命令创建Liberty的实例demoServer:
      cd /home/download/wlp/bin
      server create demoServer
② 配置新创建的实例demoServer的配置文件
Liberty使用者只需要管理和修改一个配置文件即server.xml。本文的Web应用实例为基于OSGi的应用,修改server.xml如下:
图像
 Figure 7 修改Liberty的配置文件server.xml

③ 启动Liberty实例。使用下面的QSH命令启动Liberty实例。
      cd /home/download/wlp/bin
      server start demoServer
④ 验证Liberty实例已经启动
执行CL命令WRKACTJOB,如果在子系统下发现名叫QP0ZSPWP 的任务,则Liberty实例启动成功,负责启动失败。
图像
 Figure 9 Job status of Liberty on IBM i

创建OSGi Web应用
本文将创建了一个基于OSGi的Web应用作为远程调试的实例,下面简单介绍实例创建过程,实例eba文件见附件。
1,创建OSGi Bundle工程DateProvider,在这个过程中勾选Add Bundle to Application,填写OSGi Application工程名DatePrintingApp。图像

图像 2,创建Web Bundle工程, 勾选Add Web support并设置其值为Web 3.0
图像 3,创建并注册DatePrintingServlet,在打印时间的这一行代码上设置断点
图像 4,为DatePrintingApp项目导出eba文件到IBM i中Liberty实例的dropins目录下(将IBM i文件系统映射到本地可以方便的导出eba文件)。图像 

远程调试应用程序
1,在Eclipse的Debug configuration创建一个Remote Java Application并分别设置IP和端口。图像 2,Liberty profile默认的调试端口为7777,可以修改Liberty的启动脚本server来修改调试端口及调试策略。
图像3,使用debug模式启动Liberty 实例。
      cd /home/download/wlp/bin
      server start demoServer
4,在Eclipse中启动Debug
5,在浏览器中输入网址http://<host | IP>:9080/DatePrintingWeb/DatePrintingServlet进行访问,窗口焦点会跳转到Eclipse的Debug perspective,接下来就可以使用Eclipse的快捷键F5-F8进行调试了。 
图像 6,页面效果如图所示:
图像 

结束语
本文演示如何在IBM i上安装Liberty,使用Eclipse创建基于OSGi的Web 应用并使用 Eclipse的远程 Java 应用程序调试工具对部署在Liberty中Web应用进行远程调试。接下来你可以在IBM i上部署Liberty应用并且可以方便的进行调试了。

 
关于作者
杨成鹏 

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

UID

ibm11145074