尝试启用WL 报告功能时,我从 Liberty 日志中收到此错误:
[INFO]FWLSE0192I:JNDI 资源jdbc/WorklightReportsDS映射到 ORACLE DB 类型 [项目财务] [err] 0 WorklightReportsPU WARN [默认 Executor-thread-5] openjpa.Runtime - 使用 PersistenceUnitInfo 注册 ClassTransformer 时出错:名称 ' WorklightReportsPU',根 URL [file:/C:/IBM/WebSphere/Liberty/usr/shared/resources/worklight/lib/worklight-jee-library.jar]。错误已被消耗。要查看它,请将您的 openjpa.Runtime 日志级别设置为 TRACE。加载时类转换将不可用。 [INFO ] FWLSE0186I:应用程序原始报告已禁用。[项目财务] [INFO] FWLST0002I: ========= 项目/财务开始[项目财务]
因此,正如您所见,报告数据库中没有记录任何内容。另外,如果我配置的是finance/jdbc/WorklightReportsDS为什么要引用jdbc /WorklightReportsDS ?
我的问答环境是 WL 6.0 + Liberty + Oracle(问答环境)
按照信息中心的说明,使用此方法创建报告数据库
连接 WORKLIGHTREPORTSDIS/WORKLIGHTREPORTSDIS@ORCLWL @C:\IBM\Worklight\WorklightServer\databases\create-worklightreports-oracle.sql 断开连接;
我还有以下内容:
服务器.xml
<application id="finance" name="finance" location="FinanceMobile.war" type="war">
.....
<dataSource jndiName="finance/jdbc/WorklightReportsDS" transactional="false">
<jdbcDriver libraryRef="worklight/OracleLib"/>
<properties.oracle driverType="thin" URL="jdbc:oracle:thin:@localhost:1521:ORCLWL" user="WORKLIGHTREPORTSDIS" password="WORKLIGHTREPORTSDIS"/>
</dataSource>
Web.xml
<resource-ref>
<description>Reports Database</description>
<res-ref-name>finance/jdbc/WorklightReportsDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<env-entry>
<description>[OPTIONAL] Is reports active (true/false). Default: false.</description>
<env-entry-name>reports.exportRawData</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
我启动 Liberty Server,还启动调用此方法的移动(Android 模拟器)应用程序
WL.Client.logActivity('这是一个测试');
它将以下消息打印到日志 cat 09-30 15:21:21.769: D/FinanceMobile(805): Activity [This is a test] 已成功记录。
由于自由日志说报告被禁用,所以我看不到数据库中的任何数据。
配置中是否缺少某些内容?