在某些情况下,可能有必要从 Java™ SE 环境中运行 Java 持久性 API (JPA) 跟踪。
关于此任务
增强跟踪还可用于在 Java SE 环境中收集更多 JPA 跟踪信息。在 WebSphere® Application Server 环境中,应用程序服务器负责将标准 OpenJPA
跟踪与增强跟踪功能相结合以生成单一跟踪输出。必须在 Java SE 环境中手动完成此过程。下列步骤阐述如何在 Java SE 环境中使用增强跟踪:
过程
- 创建日志记录配置属性文件。 此配置属性文件必须使用标准的 java.util.logging 配置文件格式。以下代码是样本配置文件。在该表中定义的跟踪类别也可用在配置文件中。作为 java.util.logging 配置文件的标准,跟踪类别必须以 .level 作为后缀。
# Sample logger.properties file
# Enable a file handler
handlers = java.util.logging.FileHandler
# Set a trace file pattern - the example writes a file named jpa_jse.log to the current working directory
java.util.logging.FileHandler.pattern = jpa_jse.log
# Configure the basic logging level of the file handler
java.util.logging.FileHandler.level = ALL
# Set the openjp.jdbc.SQL category trace to ALL
openjpa.jdbc.SQL.level = ALL
# Set the enhanced General category trace to FINEST
openjpa.xtrace.General.level = FINEST
# Set the enhanced Kernel category to trace at FINER
openjpa.xtrace.Kernel.level = FINER
表 1. 跟踪类别. 在启用增强的跟踪之前,请先备份服务器配置。类别 |
相关跟踪级别 |
描述 |
JPA |
OFF、ALL、FINER、FINEST |
将扩展跟踪添加至 JPA 跟踪组。 |
openjpa.* |
OFF、ALL、FINER、FINEST |
常规 OpenJPA 跟踪以及对 OpenJPA 中的所有类别进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.* |
OFF、ALL、FINER、FINEST |
对 OpenJPA 中的所有类别进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.Jdbc |
OFF、ALL、FINER、FINEST |
对 OpenJPA JDBC 类进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.Lib |
OFF、ALL、FINER、FINEST |
对 OpenJPA 库类进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.Persist |
OFF、ALL、FINER、FINEST |
对 OpenJPA 持久性类进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.Kernel |
OFF、ALL、FINER、FINEST |
对 OpenJPA 内核类进行扩展跟踪(如果启用了扩展跟踪)。 |
openjpa.xtrace.General |
OFF、ALL、FINER、FINEST |
对未包含在 JDBC、Lib、Persist 或 Kernel 类别中的 OpenJPA 类进行扩展跟踪(如果启用了扩展跟踪)。 |
- 修改 persistence.xml 文件以使用 Apache 公共记录取,而不使用缺省 OpenJPA 记录器。 将此属性添加至持久性单元:
<property name="openjpa.Log" value="commons"/>
- 将 Apache 公共记录 Java 归档 (JAR) 文件添加到类路径。您可以从 Apache Web 站点下载该 JAR 文件。
- 对 Java 虚拟机 (JVM) 添加以下自变量,其中 <WAS_install_path> 是应用程序服务器安装目录的标准路径。 确保使用适合于您的操作系统的路径分隔符。必须在要使用的类或 JAR 文件的名称之前指定此参数。
-javaagent:<WAS_install_path>/optionalLibraries/IBM/wsjpa/wsjpatrace.jar
- 对 JVM 添加这个附加自变量,以指定日志记录配置文件的路径。 也必须在要使用的类或 JAR 的名称之前指定此选项。
-Djava.util.Logging.config.file=Logger.properties
- 运行 Java SE 应用程序。 以下是一个启用了增强跟踪的样本 Java SE 应用程序调用:
java
-javaagent:"<WAS_install_path>/optionalLibraries/IBM/wsjpa/wsjpatrace.jar"
-Djava.util.logging.config.file=Logger.properties
my.JPAApplication
结果
增强跟踪功能现在 Java SE 环境中正常运行。
下一步做什么
避免故障: 在 Java SE 环境中,请勿将扩展跟踪代理程序与 OpenJPA PCEnhancer 代理程序组合使用。如果使用了增强跟踪,那么必须在编译时使用 OpenJPA PCEnhancer。如果将增强器代理程序与增强跟踪代理程序一起使用,那么结果将不可预测。
gotcha