访问样本
该产品提供了样本来说明常见企业应用程序任务。 许多样本还提供了有关部署和编写示例代码的指示信息。
使用命令行部署样本
要使用命令行部署样本,请完成以下步骤:
- 使用有效凭证登录到主机。
- 转至 app_server_root/bin 目录。
转至 /opt/IBM/WebSphere/AppServer/bin/ 目录。
- 运行 wsadmin 以安装应用程序;例如:
./wsadmin.sh -profileName AppSrv01 -lang jython -c "AdminApp.install('/opt/sample.javaee7.websocket.war', '[ -MapWebModToVH [[ .* .* default_host ]] -appname sample.javaee7.websocket]')"
使用集成解决方案控制台部署样本
要使用集成解决方案控制台部署样本,请完成以下步骤:
- 在首选浏览器中,转至集成解决方案控制台;例如,
http://hostname:9060/ibm/console/ - 使用您的用户名和密码登录。
- 选择 。
- 选择新建企业应用程序链接。
- 使用本地文件系统选项时,单击浏览,并选择从 GitHub 下载的文件。
- 单击下一步以使用缺省选项遵循向导,直到显示完成按钮。
- 显示“确认更改”部分时,单击保存。
- 单击 。
- 选中样本应用程序旁的复选框,并单击启动。
- 使用浏览器访问主页;例如:
http://hostname:9080/sample_name/
可用的样本
在 GitHub中访问以下所选样本。
- sample.javaee7.websocket
- GitHub 上的这些 Web 套接字样本显示了如何使用注释或以编程方式设置 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
- GitHub 上的困倦 batchlet 样本使用产品中的 JSR 352 批处理引用实现。 此应用程序包含一个 batchlet 和一个批处理作业(在用户定义的秒数内休眠)。 每隔 1 秒,batchlet 会打印到控制台以显示其正在工作。 回绕批处理应用程序的是一个 Web 页面,此页面旨在提供更便捷、直观的机制来管理批处理执行。此样本需要您先创建资源,再部署应用程序。 完成以下步骤以创建所需资源:
- 验证是否存在 Derby JDBC 提供程序实例。 在管理控制台中,单击 。
- 如果不存在此提供程序,请使用实现类型连接池数据源创建一个,并指向 Derby .jar 文件,例如:${WAS_INSTALL_ROOT}/derby/lib
- 验证是否配置了缺省数据源实例。 单击 。
- (管理控制台)如果此数据源不存在,请使用名称缺省数据源和 JNDI 名称 DefaultDatasource(指向 Derby JDBC 提供程序和 "${WAS_INSTALL_ROOT}/derby/DefaultDB" 数据库)创建一个。
- (命令行)使用 SSH 将虚拟机远程连接到 WebSphere 环境。 浏览至 ${WAS_INSTALL_ROOT}/derby/bin/embedded/。运行
./ij.sh。 看到提示ij>时,输入以下命令:
将在以下目录中创建缺省 Derby 数据库:${WAS_INSTALL_ROOT}/derby/DefaultDBconnect 'jdbc:derby:DefaultDB;create=true';
- 将 JVM 自变量添加到正在运行批处理样本的服务器。 单击 。 添加以下定制属性:
- com.ibm.ws.batch.DB_SCHEMA
- 值:BATCH
- com.ibm.ws.batch.JNDI_NAME
- 值:DefaultDatasource
- 配置环境后,使用提供的缺省值安装此应用程序:
- 应用程序启动后,在 /.../IBM/WebSphere/Profiles/DefaultAppSrv01/logs/server1 中打开 SystemOut.log 文件,并查找以下 URL:
http://hostname:9080/sample.javaee7.sleepybatchlet/。
- 验证是否存在 Derby JDBC 提供程序实例。 在管理控制台中,单击 。
- sample.javaee7.concurrency
- GitHub 上的此应用程序演示了如何使用受管执行程序,受管调度执行程序和上下文服务在简单应用程序中并行执行任务。
- sample.javaee7.jta
- GitHub上的这个应用程序演示了如何使用 @Transactional 注解来声明式地控制事务边界,以及如何使用@TransactionScoped注解将 Bean 的生命周期范围扩展到事务。
- sample.javaee7.jsonp
- JSONP 遵循 JSR 353 规范。 GitHub 上的应用程序由五个 servlet 组成,这些 servlet 根据用于获取 JSON 代码的不同实现来解析和显示 JSON 数据。 Web UI 页面提供更便捷、更直观的方式来试用 JSON-P 功能。 JSONP 样本中的不同测试基于特殊 JSON 对象,这些对象便于实现基于 JSON 的功能,包括构造已转换为 JSON 格式的数据的复杂结构。
- sample.javaee7.jms
- GitHub 上的此 JMS 样本使用 JMS 2.0的简化 API。 此样本包含 2 个用于执行点到点和发布/预订消息传递的 Servlet。 JMS Servlet 提供了实现示例以将消息发送到队列或从队列接收消息,以及将消息发布到主题和从主题预订消息。必须先创建一些资源,再部署此应用程序。 您可以使用随此样本发布的配置脚本创建资源。
- 从 app_server_root/bin 目录运行 createSIBusResources.py 脚本以创建所需资源。 在命令中提供 cell_name、node_name 和 server_name 值以及 sample.javaee7.jms.war 文件的路径:
./wsadmin.sh -f createSIBusResources.py cell_name node_name server_name path_to_file/sample.javaee7.jms.war - 如果在服务器中启用了安全性,请从 app_server_root/bin 目录运行 addAuthAlias.py 脚本。 在命令中提供用户名和密码:
./wsadmin.sh -f addAuthAlias.py user_name password
- 从 app_server_root/bin 目录运行 createSIBusResources.py 脚本以创建所需资源。 在命令中提供 cell_name、node_name 和 server_name 值以及 sample.javaee7.jms.war 文件的路径:
下载样本代码
您可以从 GitHub 存储库下载样本的源代码。
您还可以从 8.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 Telephone Directory
IBM Telephone Directory 业务应用程序与产品分开交付。 有关获取和使用 IBM 电话簿应用程序的信息,请参阅 IBM i 产品文档中电子商务和网络服务主题下的 IBM 电话簿 V5.2。