创建 JRas 资源束和消息文件

WebSphere® Application Server 消息记录器提供了 message 和 msg 方法,所以用户可以记录本地化消息。此外,此消息记录器提供了 textMessage 方法来记录没有本地化的消息。应用程序可根据需要使用两者之一或全部。

开始之前

不推荐使用本任务及其子任务中描述的 JRas 框架。但是,可以使用 Java™ 记录来获得类似结果。

关于此任务

用于提供本地化消息的机制是 IBM® Developer Kit, Java Technology Edition 提供的资源束支持。如果您不熟悉由开发者工具箱实现的资源束,您可从各种文本获取更多信息,或通过读 java.util.ResourceBundle、java.util.ListResourceBundle 和 java.util.PropertyResourceBundle 类以及 java.text.MessageFormat 类的 API 文档来获取。

PropertyResourceBundle 类是要使用的首选机制。另外,注意,JRas 扩展不支持由 MessageFormat 类提供的扩展格式化选项(如 {1, date} 或 {0,number,integer})。

您可将写到内部 WebSphere Application Server 日志的消息转发到其他进程以进行显示。例如,对于在与服务器进程不同的位置上运行的管理控制台上显示的消息,可使用迟绑定进程来本地化。 迟绑定意味着当记录消息时,WebSphere Application Server 不对它们进行本地化,而是将本地化延迟到显示消息的进程。

要正确地本地化消息,显示进程必须具有对存储消息文本的资源束的访问权。您必须将资源束与应用程序分开来封装,并将它安装在查看进程可访问它的位置。如果您不希望执行这些步骤,那么可使用早绑定技术在记录消息时对它们进行本地化。

这两种技术描述如下:
早绑定
应用程序必须在记录消息之前对它进行本地化。应用程序在资源束中查找本地化的文本并对消息进行格式化。当完成格式化时,应用程序使用 textMessage 方法记录消息。使用此技术将应用程序资源束和应用程序封装在一起。
迟绑定
应用程序可选择使 WebSphere Application Server 运行时在显示消息的进程中对消息进行本地化。使用此技术,资源束封装在与应用程序分开的独立 jar 文件中。然后,必须在安装中的每台可能运行管理控制台或日志查看程序的机器上安装资源束 jar 文件。您必须在作为扩展类路径一部分的目录中安装 jar 文件。另外,如果将日志转发到 IBM 服务,那么还必须转发包含资源束的 .jar 文件。

要创建资源束,执行以下步骤:

过程

  1. 创建列示消息键和相应消息的文本属性文件。 属性文件必须具有以下特征:
    • 文件中的每个属性以行终止字符终止。
    • 如果行仅包含空白,或如果行的首个非空白字符是编号符号 (#) 或感叹号 (!),那么忽略此行。#! 字符因此可用于将注释放到文件中。
    • 文件中的每行(除非它是注释或仅包括空白)表示单个属性。反斜杠 (\) 被视为行连续字符。
    • 属性文件的语法由键、分隔符和元素组成。有效的分隔符包括等号 (=)、冒号 (:) 和空白 ( )。
    • 键由行上从首个非空白字符到首个分隔符的所有字符组成。通过用反斜杠 (\) 对分隔字符进行转义而将它们包括在键中,但不推荐使用此方法,因为转义字符易于出错和导致混淆。相反,使用没有显示在属性文件中的任何键中的有效分隔字符。
    • 会忽略键和分隔符之后的空白,直到遇到首个非空白字符为止。在行终止字符之前剩余的所有字符定义了元素。

    请参阅 java.util.Properties 类的 Java 文档,以获取属性文件的语法和构造的完整描述。

  2. 将文件翻译成具有语言特定文件名的本地化版本文件,例如 DefaultMessages.properties 文件可以翻译为德语的 DefaultMessages_de.properties 和日语的 DefaultMessages_ja.properties
  3. 当已翻译的资源束可用时,将它们写到系统管理的持久存储介质。 使用资源束将消息转换为所请求的本地语言和语言环境。
  4. 从 JRas 管理器获取了消息记录器时,配置该记录器以使用特定的资源束。通过 message API 记录的消息在消息本地化执行时使用此资源束。 在运行时,用户的语言环境设置用于确定从中抽取由消息密钥指定的消息的属性文件,确保以正确的语言发送消息。
  5. 如果调用消息记录器 msg 方法,那么明确标识资源束名。

下一步做什么

应用程序根据相对于类路径中任何目录的文件位置定位资源束。例如,如果 DefaultMessages.properties 属性资源束在 baseDir/subDir1/subDir2/resources 目录中并且 baseDir 在类路径中,那么名称 subdir1.subdir2.resources.DefaultMessage 传递给消息记录器用来标识资源束。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_jrasmkrbs
文件名:ttrb_jrasmkrbs.html