访问样本

该产品提供了样本来说明常见企业应用程序任务。 许多样本还提供了有关部署和编写示例代码的指示信息。

使用命令行部署样本

要使用命令行部署样本,请完成以下步骤:
  1. 使用有效凭证登录到主机。
  2. 进入您的 应用服务器根目录/bin 目录。

    [Linux]转到 /opt/IBM/WebSphere/AppServer/bin/ 目录。

  3. 运行 wsadmin 以安装应用程序;例如:
    ./wsadmin.sh -profileName AppSrv01 -lang jython -c "AdminApp.install('/opt/sample.javaee7.websocket.war', '[ -MapWebModToVH [[ .* .* default_host ]]  -appname sample.javaee7.websocket]')"

使用集成解决方案控制台部署样本

要使用集成解决方案控制台部署样本,请完成以下步骤:
  1. 在首选浏览器中,转至集成解决方案控制台;例如,http://hostname:9060/ibm/console/
  2. 使用您的用户名和密码登录。
  3. 选择 应用程序 > 新应用程序
  4. 选择新建企业应用程序链接。
  5. 使用本地文件系统选项时,单击浏览,并选择从 GitHub 下载的文件。
  6. 单击下一步以使用缺省选项遵循向导,直到显示完成按钮。
  7. 显示“确认更改”部分时,单击保存
  8. 单击 应用程序>应用程序类型> WebSphere 企业应用程序
  9. 选中样本应用程序旁的复选框,并单击启动
  10. 使用浏览器访问主页;例如:
    http://hostname:9080/sample_name/

可用的样本

访问以下精选示例, GitHub

sample.javaee7.websocket
这些网络套接字示例 GitHub 演示了如何使用注释或编程方式设置 WebSocket 端点。 使用这些样本,可实践体验打开和关闭 WebSocket 连接以及对其进行读写操作。 还显示如何使用编码器、解码器和 PathParam 注释以及执行 Pong 消息处理。
sample.javaee7.el30
这个应用程序 GitHub 展示了如何使用EL 3.0 (表达式语言)的一些新功能。 针对使用 lambda 表达式、并置和新操作符提供了示例。 此外,它提供了独立 Servlet 的简单样本,此 Servlet 显示了在未使用 JavaServer Pages (JSP) 的情况下使用了 EL。
sample.javaee7.servlet.nonblocking

这个应用程序 GitHub 演示了如何使用添加到 ServletInputStream 和 ServletOutputStream 的新API实现非阻塞I/O。 此示例包含 ReadListener 和 WriteListener 接口 API 的使用。

sample.javaee7.sleepybatchlet
上昏昏欲睡的批处理示例使用了产品中JSR 352批处理参考实现。 GitHub 使用了JSR 352批处理参考实现。 此应用程序包含一个 batchlet 和一个批处理作业(在用户定义的秒数内休眠)。 每隔 1 秒,batchlet 会打印到控制台以显示其正在工作。 回绕批处理应用程序的是一个 Web 页面,此页面旨在提供更便捷、直观的机制来管理批处理执行。
此样本需要您先创建资源,再部署应用程序。 完成以下步骤以创建所需资源:
  1. 验证是否存在 Derby JDBC 提供程序实例。 在管理控制台中,单击 资源> JDBC > JDBC 提供程序
    1. 如果不存在此提供程序,请使用实现类型连接池数据源创建一个,并指向 Derby .jar 文件,例如:${WAS_INSTALL_ROOT}/derby/lib
  2. 验证是否配置了缺省数据源实例。 单击 资源> JDBC >数据源
    1. (管理控制台)如果此数据源不存在,请使用名称缺省数据源和 JNDI 名称 DefaultDatasource(指向 Derby JDBC 提供程序"${WAS_INSTALL_ROOT}/derby/DefaultDB" 数据库)创建一个。
    2. (命令行)使用 SSH 将虚拟机远程连接到 WebSphere 环境。 浏览至 ${WAS_INSTALL_ROOT}/derby/bin/embedded/
      运行 ./ij.sh。 看到提示 ij> 时,输入以下命令:
      connect 'jdbc:derby:DefaultDB;create=true';
      将在以下目录中创建缺省 Derby 数据库:${WAS_INSTALL_ROOT}/derby/DefaultDB
  3. 将 JVM 自变量添加到正在运行批处理样本的服务器。 单击 服务器>服务器类型> WebSphere 应用程序服务器> server_name > Java 和进程管理>进程定义> Java 虚拟机>定制属性。 添加以下定制属性:
    com.ibm.ws.batch.DB_SCHEMA
    值:BATCH
    com.ibm.ws.batch.JNDI_NAME
    值:DefaultDatasource
  4. 配置环境后,使用提供的缺省值安装此应用程序:
  5. 应用程序启动后,在 /.../IBM/WebSphere/Profiles/DefaultAppSrv01/logs/server1 中打开 SystemOut.log 文件,并查找以下 URL: http://hostname:9080/sample.javaee7.sleepybatchlet/
sample.javaee7.concurrency
这个应用程序 GitHub 演示了如何在简单的应用程序中利用托管执行程序、托管计划执行程序和上下文服务并行执行任务。
sample.javaee7.jta
这个应用程序 GitHub 演示了如何使用@Transactional注释来声明式地控制事务边界,以及如何使用 @TransactionScoped 注释将bean生命周期限定为事务。
sample.javaee7.jsonp
JSONP 遵循 JSR 353 规范。 上的应用程序由五个Servlet组成,它们根据获取JSON代码的不同实现来解析和显示JSON数据。 GitHub 由五个Servlet组成,它们根据获取JSON代码的不同实现来解析和显示JSON数据。 Web UI 页面提供更便捷、更直观的方式来试用 JSON-P 功能。 JSONP 样本中的不同测试基于特殊 JSON 对象,这些对象便于实现基于 JSON 的功能,包括构造已转换为 JSON 格式的数据的复杂结构。
sample.javaee7.jms
这个JMS示例 GitHub 使用了JMS的简化API 2.0。 此样本包含 2 个用于执行点到点和发布/预订消息传递的 Servlet。 JMS Servlet 提供了实现示例以将消息发送到队列或从队列接收消息,以及将消息发布到主题和从主题预订消息。
必须先创建一些资源,再部署此应用程序。 您可以使用随此样本发布的配置脚本创建资源。
  1. 运行 app_server_root/bin 目录中的 createSIBusResources.py 脚本,以创建所需的资源。 在命令中提供 cell_namenode_nameserver_name 值以及 sample.javaee7.jms.war 文件的路径:
    ./wsadmin.sh -f createSIBusResources.py cell_name node_name server_name path_to_file/sample.javaee7.jms.war
  2. 如果服务器启用了安全功能,请从 app_server_root/bin 目录运行 addAuthAlias.py 脚本。 在命令中提供用户名和密码:
    ./wsadmin.sh -f addAuthAlias.py user_name password

下载样本代码

您可以从 GitHub 资源库下载示例的源代码。

您还可以从 8.5 样本下载服务器下载 8.5.5 文档中的样本。 8.5.5 文档中提到的一些样本可从 8.0 样本下载服务器中获取。 下载内容包括源代码、构建说明和可部署文件,例如 /installableApps 目录中的 .ear.war 文件。

样本的局限性

样本仅供演示。

所提供的代码并非用于在安全的生产环境中运行。 样本支持 Java 2 安全性,因此样本实现在受保护的系统资源(例如,文件 I/O)上检查许可权的基于策略的访问控制。

样本还支持管理安全性。

  • 许多样本使用 Apache Derby 的可嵌入框架连接至 Apache Derby 数据库。 Apache Derby 的可嵌入框架有一个限制,即只允许一个 Java 虚拟机 (JVM) 访问数据库实例。 因此,在集群应用程序服务器环境中,由于第一台服务器 (JVM) 已经具有与该数据库实例的连接,节点中的第二台服务器就无法启动样本应用程序。

    对于需要多个 Java 虚拟机访问同一个 Apache Derby 实例的应用程序,请使用 Apache Derby Network Server 框架。

更多样本和示例

教程中的样本
许多产品教程依赖于样本代码。 要查找演示特定技术的教程,请浏览 “教程”中的链接。
产品文档中的示例
产品文档包含许多代码段和示例。 要轻松找到这些示例,请查看您正在使用的 IBM Documentation 导航参考部分中产品版本的开发者示例。
[IBM i]IBM Telephone Directory
[IBM i]IBM Telephone Directory 业务应用程序与产品分开交付。 有关获取和使用 IBM 电话簿应用程序的信息,请参阅 IBM 电话簿 V5.2 ,该主题位于 IBM i 产品文档中的电子商务和网站服务部分。