我正在使用 Jasperserver 4.5.0 Pro。我为一些附加功能开发了一个自定义数据源。使用此自定义 DS 的所有报告都会正确执行,并在手动执行时显示正确的输出。但是,当使用 Jasper 的报告作业计划程序计划相同的报告时,会话启动会出现一些问题,因此报告不会被执行。
让我稍微解释一下。
- 对于手动执行报告 -
作为自定义 DS 的一部分,我必须更新以下 2 个 xmls -
viewReportFlow.xml:我更新了动作状态“runReport”以使用我们自定义的 DS 执行器动作 bean 方法“xmlHttpDsExecuterAction.setUpSession”来启动会话。请参阅下面的 runReport 标签 -
<action-state id="runReport" xmlns:b="http://www.springframework.org/schema/webflow" xmlns:xi="http://www.w3.org/2001/XInclude">
<on-entry>
<evaluate expression="xmlHttpDsExecuterAction.setUpSession"/>
</on-entry>
<evaluate expression="viewReportActionBean"/>
<transition on="success" to="reportOutput"/>
<on-exit>
<evaluate expression="xmlHttpDsExecuterPageAction.setIndex"/>
</on-exit>
viewReportBeans.xml :我在这里定义了上述流 xml 中使用的执行器操作 bean -
<bean id="xmlHttpDsExecuterAction" class="com.sigma.reporting.xmlhttpds.XmlHttpDsExecuterAction" xmlns:xsi="http://www.w 3.org/2001/XMLSchema-instance"/> <bean id="xmlHttpDsExecuterPageAction" class="com.sigma.reporting.xmlhttpds.XmlHttpDsExecuterPageAction" xmlns:xsi="http://www.w 3.org/2001/XMLSchema-instance">
<property name="requestParameterPageIndex" value="pageIndex"/>
<property name="flowAttributePageIndex" value="pageIndex"/>
<property name="xmlHttpDataSourceName" value="com.sigma.reporting.xmlhttpds.XmlHttpDsExecuterDataSourceService"/>
<property name="repository">
<ref bean="repositoryService"/>
</property>
<property name="jasperPrintName" value="jasperPrintName"/>
<property name="reportUnitObject" value="reportUnitObject"/> </bean>
- 对于报告的作业调度:我想使用调度程序实现与上面类似的实现。在我的调查过程中,我试图分析调度程序流程,并尝试进行我们的更改,但到目前为止还没有运气。任何人都可以让我知道通过调度程序运行报告使用哪些流程,还请推荐配置自定义 DS 的位置吗?