kcd
-
Posts
54 -
Joined
-
Last visited
Content Type
Profiles
Forum
Events
Featured Visualizations
Knowledge Base
Documentation (PDF Downloads)
Blog
Documentation (Test Area)
Documentation
Dr. Jaspersoft Webinar Series
Downloads
Posts posted by kcd
-
-
org.quartz.jobStore.misfireThreshold and org.quartz.jobStore.clusterCheckinInterval appear to be very short (3 and 15 minutes)
http://community.jaspersoft.com/questions/541168/missing-duplicate-reports-being-sent
-
Lame undocumented configuration thing as per http://www.jasperforge.org/plugins/espforum/view.php?group_id=112&forumid=102&topicid=94158
and http://jasperforge.org/plugins/espforum/view.php?group_id=112&forumid=102&topicid=85833
This is probably because your reports run for "too long" (as little as 3 minutes by default!)
If you have few, long running reports like I do I suggest you modify js.quartz.base.properties and set 1 thread only with 150 minute timeouts
\WEB-INF\js.quartz.base.properties
line 9:org.quartz.jobStore.clusterCheckinInterval = 9000000
line 11:org.quartz.threadPool.threadCount=1
line 14:org.quartz.jobStore.misfireThreshold=9000000 -
This is probably because your reports run for "too long" (as little as 3 minutes by default!)
If you have few, long running reports like I do I suggest you modify js.quartz.base.properties and set 1 thread only with 150 minute timeouts
\WEB-INF\js.quartz.base.properties
line 9:org.quartz.jobStore.clusterCheckinInterval = 9000000
line 11:org.quartz.threadPool.threadCount=1
line 14:org.quartz.jobStore.misfireThreshold=9000000
Read this:
http://jasperforge.org/plugins/espforum/view.php?group_id=112&forumid=102&topicid=85833
-
For anyone else who finds this, here is the link to bug report -http://jasperforge.org/plugins/mantis/view.php?id=5609
Occurs when there are non-unique conditional style names between the subreports.
-
Bug listed here - http://jasperforge.org/plugins/mantis/view.php?id=5661
I also found ireport played up when editing XML so I had to edit it in another text editor
Code: <band height="30" splitType="Prevent">
-
I am running into a similar problem occassionally with slow queries. The latest time my report ran indefinitely and I had to shut down Tomcat and clear the work and temp directories to save it from itself.
Code: 2012-05-25 10:35:53,972 ERROR ReportExecutionJob,quartzScheduler_Worker-0:310 - The job was not completed. A system error occurred while running it.java.lang.NullPointerException at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.createOutputs(ReportExecutionJob.java:588) at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.executeAndSendReport(ReportExecutionJob.java:427) at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.execute(ReportExecutionJob.java:233) at org.quartz.core.JobRunShell.run(JobRunShell.java:195) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
-
Any update on this?
Code: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAN13718 tomcat 20 0 5474m 471m 17m S 0.3 4.0 0:41.23 java13718 tomcat 20 0 5538m 636m 17m S 98.0 5.4 0:44.18 java13718 tomcat 20 0 5538m 640m 17m S 62.5 5.4 0:46.06 java13718 tomcat 20 0 5538m 632m 17m S 1.0 5.3 0:46.09 java13718 tomcat 20 0 5538m 626m 17m S 2.3 5.3 0:46.16 java13718 tomcat 20 0 5538m 628m 17m S 25.3 5.3 0:46.92 java13718 tomcat 20 0 5474m 552m 17m S 0.7 4.6 0:46.94 java
-
This is a validation error. Perhaps either your timezone doesn't match that regex or perhaps that email address Anonymous:null@unknown ... I'm just skim reading it :)
If you think your inputs are valid here are some helpful links to change the validation.
http://jasperforge.org/plugins/espforum/view.php?group_id=112&forumid=102&topicid=94962&page=2
http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=94923&topid=95560
Code: org.owasp.esapi.errors.ValidationException: trigger.timezone-ViewRepository_Schedule_OutputSettings_context: Invalid input. Please conform to regex ^[\p{L}\p{M}\p{Pc}\/]*$ with a maximum length of 100
-
I'm trying to use Font Extensions default fonts as recommended and export PDFs. I'm not having problems with DejaVu fonts but I am with Serif and Monospaced.
Firstly when I deployed Jasperserver 4.5.1 I had to deploy Times New Roman for any reports to work (my reports do not use this font it must be required by Serif?).
Secondly when previewing PDF's in Ireport on my windows machine all Monospaced fonts came out as the default Helvetica. DejaVu Sans Mono works.
Shouldn't these default fonts work anywhere anyhow?
Code: I'm not using pdf embedding and my iReport settings arenet.sf.jasperreports.default.font.name SansSerifnet.sf.jasperreports.default.font.size 10net.sf.jasperreports.default.left.indent 0net.sf.jasperreports.default.line.spacing.size 1net.sf.jasperreports.default.pdf.embedded falsenet.sf.jasperreports.default.pdf.encoding Cp1252net.sf.jasperreports.default.pdf.font.name Helvetica
-
I think this is what Font Extensions > Monospaced is supposed to resolve but I'm having problems with that
http://jasperreports.sourceforge.net/sample.reference/fonts/index.html
-
Thanks, that does look relevant.
I also found this which presumably hides the temp directory, changing it had not effect.
<property name="outputFolderFilterList"> <list><value><![CDATA[(/organizations/[^/]+)*/temp(/[^/]+)*]]></value></list> </property>
But the CE edition doesn't seem to have that temp folder
The revelant form entry is
<input id="outputLocation" type="hidden" value="/reports" name="contentRepositoryDestination.folderURI">
Found in WEB-INF\jsp\modules\reportScheduling\jobOutput.jsp
<legend class=""><span><spring:message code="report.scheduling.job.edit.output.label.output.location"/></span></legend> <spring:bind path="job.contentRepositoryDestination.folderURI"> <input type="hidden" id="outputLocation" name="${status.expression}" value="${status.value}"/>
But I cannot find where the default is populated.
Any ideas? -
I believe Chrome is following autocomplete="off". You could remove it?
<form id="loginForm" autocomplete="off" action="j_spring_security_check" method="POST">
-
The default for file location Scheduled or Run in background reports is the currenct directory (/reports). Obviously for many users it is wise to make this a read only folder and therefore the default will not work.
I first starting looking for how change the default directory to something suitable but couldn't find how. Anyone know?
I did find reference to a /temp directory which would also mean we don't need to store endless reports just so they can be emailed once. Is this a legacy option or can we have a special temp directory?
Thanks in advance
Output Location– The folder for saving the report output. This field is required and you must have write permission to the folder. If you email the report and do not want to save it, specify the Temp folder.
Output Location
The job output folder /Temp cannot be found. It might have been deleted or moved.
-
Whoops, didn't see there was a page 2 when I hit reply....
mgeise has a more complete answer
-
Here is a fix below. Actually Jasperserver should be spliting the email addresses and validating them individually but this will work.
You might as well fix queries too, also below
Or if you get sick of it, effectively disable a validator like so
Validator.Email=^.*$
Code: # Validator.Email=^[\\p{L}\\p{M}\\p{N}._%'-]+@[\\p{L}\\p{M}\\p{N}.-]+\\.[a-zA-Z]{2,4}$# Allow multiple emailsValidator.Email=^[\\p{L}\\p{M}\\p{N}._%'-]+@[\\p{L}\\p{M}\\p{N}.-]+\\.[a-zA-Z]{2,4}[\\s*,\\s*[\\p{L}\\p{M}\\p{N}._%'-]+@[\\p{L}\\p{M}\\p{N}.-]+\\.[a-zA-Z]{2,4}]*$# Validator.ValidSQL=^\\s*((?i)select)\\s+[^;]+$# Fixed for stored procedures etcValidator.ValidSQL=^\\s*(?i)(with\\s+.*)?(select|call|exec(ute)?)\\s+[^;]+$
-
I cannot get the "repo:" expression handling to behave with the iReport JRXML validation tool when uploading. Two scenarios in iReport 4.5.1
Repository Navigation > localhost > Reports > Some report> Main.jrxml (rightclick) > Replace with current
1 - JRXML validation window for Image says
- local: "imageslogo.jpg"
- proposed: "repo:logo.jpg"
This is ok because it uploads the image. BUT it changes the local file to "repo:logo.jpg" so you can no longer preview it. Why does it change the local image expression?
...Or choose linked resource
2 - JRXML validation window for Linked Resource says
- local: "imageslogo.jpg"
- proposed: "repo:/images/logo.jpg"
This seems good because it doesn't change the local file and you can preview it. BUT it leaves the repository file as "imageslogo.jpg" so you cannot run it on Jasperserver. You'll get the error below.
As far as I can tell both options are broken. Also see http://jasperforge.org/projects/ireport/tracker/view.php?id=5539
Anyone got this working sensibly?
Post Edited by kcd at 03/20/2012 22:41 -
Agreed. Vote here: jasperforge.org/projects/ireport/tracker/view.php?id=5539
Post Edited by kcd at 03/13/2012 03:36 -
Also check your file permissions, they can cause similar errors uploading from ireport
e.g. check jasperserver.log or catalina.out and look for file io errors.
ll
chmod -R tomcat webapps/
chgrp -R tomcat webapps/
-
Solution found - there are security configuration options to amend or disable the validation.
1 - The following regex fix should work for most cases.
webapps/jasperserver/WEB-INF/classes/esapi/security-config.properties/validation.propertiesValidator.ValidSQL=^s*(?i)(withs+.*)?(select|call|exec(ute)?)s+[^;]+$
2 - Alternatively turn it off
webapps/jasperserver/WEB-INF/classes/esapi/security-config.propertiessecurity.validation.sql.on=false
Post Edited by kcd at 02/14/2012 23:00
Post Edited by kcd at 02/14/2012 23:01 -
Instead of sifting through the source code I have opted to run with the previous version. It is a shame because we really want to deploy jasperreport server on MySQL 5.5 which is what we use for our production databases.
I opened a bug ticket. See http://jasperforge.org/projects/jasperreports/tracker/view.php?id=5616
-
I haven't looked very closely at your problem but I found the number datatypes can change almost randomly with SQL queries unless you pay particular attention to the formats returned.
When you use BigDecimals you will find java doesn't automatically cast them as it frequently does other types so try explicitly calling toString() if you want a String
-
Hey
I think I can interpret the problem but not sure where to start for a solution.
The problem is for all reports having upgrade from 4.2.1 to 4.5.0. The UI says "An error has occurred. Please contact your system administrator. (6632)" and the stack trace is below.
Key cause appears to be:
Caused by: org.owasp.esapi.errors.ValidationException: SQL_Query_Executor_context: Invalid input. Please conform to regex ^\s*((?i)select)\s+[^;]+$ with a maximum length of 50000
Because all my queries are in the form
CALL Up_Reporting_GetSomethingUseful($P{StartDate}, $P{EndDate});
So I think I need to disable org.owasp.esapi query validation but I cannot find any documentation about this sort of configuration. Where do I start?
Code: 2012-01-18 15:50:03,354 ERROR ManagementServiceImpl,http-9123-3:1259 - caught Throwable exception: An error has occurred. Please contact your system administrator. (6632)com.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632) at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validateSQL(ValidatorImpl.java:394) at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:166) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:731) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:629) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1159) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:802) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:118) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:773) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:731) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:389) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReport(EngineServiceImpl.java:890) at com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:57) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute(EngineServiceImpl.java:320) at com.jaspersoft.jasperserver.ws.axis2.ManagementServiceImpl.runReport(ManagementServiceImpl.java:1167) at com.jaspersoft.jasperserver.ws.axis2.ManagementService.runReport(ManagementService.java:240) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399) at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:139) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.PasswordExpirationProcessingFilter.doFilter(PasswordExpirationProcessingFilter.java:85) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.JIPortletAuthenticationProcessingFilter.doFilter(JIPortletAuthenticationProcessingFilter.java:81) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188) at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:636)Caused by: org.owasp.esapi.errors.ValidationException: SQL_Query_Executor_context: Invalid input. Please conform to regex ^\s*((?i)select)\s+[^;]+$ with a maximum length of 50000 at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144) at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:160) at org.owasp.esapi.reference.validation.StringValidationRule.getValid(StringValidationRule.java:284) at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:213) at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:185) at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validateSQL(ValidatorImpl.java:388) ... 77 morecom.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632)
-
Whoops didn't see the second and third page of this topic :) It is already answered
--
In iReport Options > JasperReport Properties edit
net.sf.jasperreports.image.dpi 300
http://jasperforge.org/projects/jasperreports/tracker/view.php?id=3411
Post Edited by kcd at 12/07/2011 20:34 -
iReport-0.4.1 does, definitely not newer than 3.1
Another get report through REST API request
in Products
Posted