访问样本
该产品提供了样本来说明常见企业应用程序任务。许多样本还提供了有关部署和编写示例代码的指示信息。
使用命令行部署样本
要使用命令行部署样本,请完成以下步骤:
- 使用有效凭证登录到主机。
- 转至 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 上的应用程序包含 5 个 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 存储库下载样本的源代码。
样本的局限性
样本仅供演示。
所提供的代码并非用于在安全的生产环境中运行。样本支持 Java 2 安全性,因此样本实现在受保护的系统资源(例如,文件 I/O)上检查许可权的基于策略的访问控制。
样本还支持管理安全性。
- 许多样本使用 Apache Derby 的可嵌入框架连接至 Apache Derby 数据库。Apache Derby 的可嵌入框架有一个限制,即只允许一个 Java 虚拟机 (JVM) 访问数据库实例。因此,在集群应用程序服务器环境中,由于第一台服务器 (JVM) 已经具有与该数据库实例的连接,节点中的第二台服务器就无法启动样本应用程序。
对于需要多个 Java 虚拟机访问同一个 Apache Derby 实例的应用程序,请使用 Apache Derby Network Server 框架。
更多样本和示例
- developerWorks® 上的样本
- WASdev 上提供了更多产品样本。
- 教程中的样本
- 许多产品教程依赖于样本代码。要找到演示特定技术的教程,请浏览Tutorials中的链接。
- 产品文档中的示例
- 产品文档包含许多代码段和示例。要轻松地找到这些示例,请参阅 IBM Knowledge Center 导航的参考部分中开发者示例,以获取您在使用的产品版本。
IBM Telephone Directory
IBM Telephone Directory 业务应用程序与产品分开交付。有关获取和使用 IBM Telephone Directory 应用程序的信息,请参阅 IBM i 产品文档中有关电子商务和 Web 服务的主题中的 IBM Telephone Directory V5.2。