Jump to content
We've recently updated our Privacy Statement, available here ×

djsiders

Members
  • Posts

    57
  • 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

Everything posted by djsiders

  1. I setup a test schedule reports as noted in my last reply and was able to itermittently see the problem. I took the report item out that was calling the particular method that it said it could not find. The problem just moved to the next element in the report that was calling a scriplet method. So to me, it looks like the error I am getting for a method not found has nothing to do with the particular method, it just happened to be the first call to the scriptlet.
  2. com.sun.mail.smtp.SMTPAddressFailedException: 553 Sorry, that domain isn't in my list of allowed rcpthosts. Looks like an issue with the mail server setup. The mail server itself can't send to the domain used in your email address.
  3. Still no answers, but have determined this seems to only occur during scheduled reports. I setup 2 identical reports to run on five minute intervals. They often run fine, but occasionally I get the no method exception. The Exception has occurred on both reports and both reports have run fine as well. After getting the exception, the reports later run fine as well.
  4. I found the updates after 3.0 from version 3.5 and below to be very unstable. I was getting corrupted jrxml, controls out of boundary with no warning, etc. I pretty much wrote off 3.5 as unusable. Seem like 3.7 and up are fairly stable now if you can go to those.
  5. Is there a way to have the contents of a parameter of type java.util.Collection be interpreted as numbers rather than as a String. For example, I can pass 1,2,3 as the parameter contents, but when I use it with the $X function: $X{IN, fieldName, PARAM_NAME} I get a SQL exception saying the numeric field (fieldName) can not be converted to a varchar, use convert function. This means the SQL engine is interpreting my criteria as String values, not numeric (which is what the field is). In a normal query I could use the convert, but not when using the $X function. Is this a matter of the iReport parameter prompt converting to a string and not an actual JasperReport limitation? using Version 3.0 of both iReports and JR
  6. Since you are using a Datetime datatype in JasperServer, change your parameter type for Start and End dates to a java.sql.Timestamp. Also, closely watch the results with the >= argument in your SQL. I have had trouble with Jasper in the past using dates that way. Sometimes seems to ignore the time portion.
  7. Still no luck finding this problem. Not sure if it's JasperServer, Swing or what. Adding Stack Trace from Tomcat logs 11:53:17,308 ERROR JSErrorPage_jsp,http-8083-Processor24:329 - net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : Source text : $P{REPORT_SCRIPTLET}.getOffsetMonthDate($P{RUN_DATE_TIME}, -2) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505) at net.sf.jasperreports.engine.fill.JRFillDataset.setFillParameterValues(JRFillDataset.java:620) at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:577) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1195) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:123) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:420) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:638) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:333) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReport(EngineServiceImpl.java:765) at com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:60) at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute(EngineServiceImpl.java:265) at com.jaspersoft.jasperserver.war.action.ViewReportAction.executeReport(ViewReportAction.java:329) at com.jaspersoft.jasperserver.war.action.ViewReportAction.verifyData(ViewReportAction.java:222) at sun.reflect.GeneratedMethodAccessor1689.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:103) at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:136) at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:203) at org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:142) at org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:61) at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:180) at org.springframework.webflow.engine.State.enter(State.java:200) at org.springframework.webflow.engine.Transition.execute(Transition.java:229) at org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:112) at org.springframework.webflow.engine.Flow.onEvent(Flow.java:572) at org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:207) at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:185) at org.springframework.webflow.engine.State.enter(State.java:200) at org.springframework.webflow.engine.Flow.start(Flow.java:557) at org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:195) at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:189) at org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:206) at sun.reflect.GeneratedMethodAccessor1534.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154) at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210) at $Proxy43.launch(Unknown Source) at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:131) at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:170) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350) at javax.servlet.http.HttpServlet.service(HttpServlet.java:627) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoSuchMethodError: jasp.scriplet.JaspScriptlet.getOffsetMonthDate(Ljava/util/Date;I)Ljava/util/Date; at MonthlyJobCountSummary_1272647740425_266525.evaluate(MonthlyJobCountSummary_1272647740425_266525:171) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186) ... 104 more
  8. I am seeing an intermittent issue on our JasperServer, mainly from automated (scheduled) reports. We often get emails with an error notification attached showing a NoSuchMethodError on our Scriptlet class. When we go to the UI and re-run the exact report with same params, it runs fine. Also other reports of the same type run just fine. I have completey shutdown our Tomcat instance and deleted all deployed files, then re-starte/re-deployed the JasperServer war file just to make sure there were no strange caching issues, etc. with Tomcat. This has also happened with different method names, not always the same one. Tomcat 5.5 Jasper Server 3.0 Caused by: java.lang.NoSuchMethodError: package.name.ScriptletClass.methodName(Ljava/lang/String;)Ljava/lang/String; Any ideas would be appreciated, thanks.
  9. Time Zones make my head spin... Thanks for the reply, it's exactly what I was looking for. I figured it was the way it was supposed to work, was just hoping someone could explain why and you did! Thanks
  10. Upon changing to DST this past weekend, all of our scheduled report times moved ahead by 1 hour. For example a report that was scheduled to run at 5AM now runs at 6AM. This is consitant for all scheduled reports on the server. The linux machine timezone is EST5EDT and is reporting correctly, and the set time zone on the scheduled reports is EST5EDT. Example of one of my report setups: TZ: EST5EDT Start On: 11-11-2009 06:05 Simple Recurrance - Indefinitely Every 1 days This report now runs at 7:05 and looking back at the save PDF version in the repository, they were all time stamped at 6:05, until the 3/14/2010 report ran, and from then on are time stamped 7:05. Wondering if there are any known issues, if anyone else has seen this, possibly a MySql setup problem (backend schedule storage).
  11. Found a solution for this. Changed the Subreports When No Data property to Np-data section. This returns a value for the running total rather than null, but does not put any subreport data (headers, etc) on the main report. So my end result is: Variable in main report RUNNING_TOTAL - BigDecimal initialized to 0 SubReport input Param BEGINNING_BALANCE = $V{RUNNING_TOTAL} Subreport Variable REPORT_TOTAL = BEGINNING_BALANCE + any amounts on the sub report Subreport return value: $V{REPORT_TOTAL} assigned to main report $V{RUNNING_TOTAL} with calc type of Nothing Then each subreport recieves the running total, and adds it's contribution amounts to that total and returns. At the end, RUNNING_TOTAL contains the sum of all values from the subreports
  12. I have found that Position Type: Float (rather than Fix relative to top) will make the subreport "float" to wherever it needs to be after the previous object of unknown size is filled. Position type is on Common tab of subreport properties dialog. Also found that if you set the subreport to have When no data set to Blank Page, then the subreport doesn't print any spacing, etc. when the subreport is empty. Get to that property by Edit -> Report -> More... tab
  13. I am running a report that contains a sub report that may or may not return results. I have set the "When no data" property to Blank Page, and that successfully eliminates and breaks, spacing, etc. when the sub-report has no results. My problem is that I need to get a running total of all the detail shown in the subreport. I pass in a Variable as a Param to the subreport. That variable is the running total of all subreports to that point. After the subreport runs, I add the passed in running total to that subreports total, and return a new running total. This works fine when the subreport returns results, but when it does not, my return value is null, thus clearing my running total. Is there anyway to "transform" that null return value into a BigDecimal(0) before returning and assigining to the main report variable.
  14. I have been using the workaround. Of course the problem with it is I have to remember to change this after each deployment of a new WAR file since it gets overwritten with the WAR contents. I have looked through, and searched all files in my jasper build folders, and the config files in my .m2 folder and can't find any other reference. It appears the build uses some type of "template" context.xml, as I have found several version that reference the config variables. Problem is I am unable to determine which one the build is actually using. I suspect that maybe the extra param variable is not defined in the template the build is actually using, but again, can't find which one that is.
  15. I added that in and no luck. I also found what looks like a "template" context.xml in jasperserver-trunk/build/classes/META-INF That file shows that param name, but it doesn't fill in. I even tried eliminating quotes just to see if the value got there. The other params, like metadata.jdbc.username are filling in, just not the extra.params. Is there possibly another template file that is being used, but doesn't include this param? Maybe a maven setting? Code:from Context.xml
  16. I added the validation query directly by editing META-INF/context.xml, and the jasperserver.xml file in catalina_home/conf/Catalina/localhost The reports ran for the next two days, a Sunday and Monday morning. The server would have had little to no activity over the weekend, so this seems to be a good fix. Also, on Monday morning the server responed much faster than in the past. You normally had to wait quite a while for the initial screen to load, and then it got better after that. Now, comes up at normal speed you see during the day. My only remaining item is how to get the validation into the base "template" for context xml so that it may be included in the WAR file build. Currently if I build a new WAR file, my modified context.xml will be overwritten without the validation query and I will have to edit after updating on the tomcat server.
  17. I can change that directly in the META-INF/context.xml to try, but how do you get the Maven build of JasperServer to include it in there automatically. I know in my home .m2 directory, I set properties in js.jdbc.properties and they somehow get built into the final product. Just can't find anyway to get the validationQuery to be built this way.
  18. The autoReconnect did not solve the problem after testing with much longer inactive period. Once you "wake up" the server, it runs fine again.
  19. After a little digging for this problem in general (non JasperServer related). I found others who were seeing this with MySql running web apps under Tomcat, etc. It seems related to the connection pooling, and the connections getting old. From this info, I added a property to the MySql connection string autoReconnect=true This mornings report ran fine. Will continue to test, but this may be a fix.
  20. I have a scheduled report that runs fine when I first create and test it. The I set the schedule to run it at 6AM each day. The report doesn't show up in email, and the output is not delivered to the specified output folder (again both succeeded when testing). When I look at the scheduled report it shows a 6AM run time from that day. I have tested and tried this 3 days in a row, and it has failed every time. I am wondering if there is some type of issue I am having due to the server being idle for a long period of time. This server is not really used heavily yet, and would not be used much after 6PM at all. Is the sudden "wake up" to run at 6AM maybe failing due to stale connections, etc? I am using JasperServer 3.0.0, running on Tomcat 5.5 and java 1.5. The jasper DB is on a MySql instance. Below is the only error info I can find (from Catalina.out). Seems to be related, as the Quartz scheduler is listed in the trace, and I have no other scheduled jobs. java.io.EOFException STACKTRACE: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1934) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2380) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) at com.mysql.jdbc.Connection.execSQL(Connection.java:3020) at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:4989) at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:331) at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:317) at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:1389) at org.quartz.impl.jdbcjobstore.JobStoreCMT.triggeredJobComplete(JobStoreCMT.java:1265) at org.quartz.core.QuartzScheduler.notifyJobStoreJobComplete(QuartzScheduler.java:1490) at org.quartz.core.JobRunShell.run(JobRunShell.java:262) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) ** END NESTED EXCEPTION ** Last packet sent to the server was 0 ms ago. at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2592) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695) at com.mysql.jdbc.Connection.execSQL(Connection.java:3020) at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:4989) at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:331) at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:317) at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:1389) at org.quartz.impl.jdbcjobstore.JobStoreCMT.triggeredJobComplete(JobStoreCMT.java:1265) at org.quartz.core.QuartzScheduler.notifyJobStoreJobComplete(QuartzScheduler.java:1490) at org.quartz.core.JobRunShell.run(JobRunShell.java:262) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
  21. Additional Note: the Property not being set issue described was happening in iReports 3.0.0
  22. Something I found on this: The Min Height to Start New Page did get me what I wanted, at least at first shot. The reason it wasn't working initially was that I was clicking the Group Header name in the Documents Structure Browser, and then editing the Min Height property in the property window. I found that when I opened the Group Edit Dialog, and then modified the same group (which opens it's own property dialog window), the property value had not been changed. The only way I could get the property value to change was in the group edit dialog. When I changed it directly on the common property window, it showed the value, but apparently didn't commit it. Maybe a bug, or maybe something I don't understand about the property settings. If anyone has more tips on Widow/Orphan control, they are welcome, but the Min Height to Start New Page has done the trick for now.
  23. I have a group header that sometimes prints as the last line of a page, with the detail following on the next page. Is ther anyway to make the group header be forced to print on the same page as the detail. Microsoft Word refers to this as Widow/Orphan control, not sure if that is a standard term elsewhere. I have tried allow split yes/no on tye band, and tried large and small values in the Bands "Min Height to Start New Page" property.
  24. use equals method new Boolean (!$F{linetype}.equals("C"))
  25. Is there a way to make the Input Control prompts interact with each other, rather than having them based on their own query, etc. For example, if I have 2 input controls (pull-down single select type), the first being division, the second being customer. I want the choices in the customer pull down to be filled with only customers from the selected division (which is first selected in the division pull down). Almost like a sequenced set of input controls, the answer to one determines the choices in the next.
×
×
  • Create New...